投稿者 るきお  (社会人) 投稿日時 2021/6/29 20:17:49
list にだけ項目を追加したいのならこのような感じです。
最初の例ではObjectとしていた型を操作しやすいようにIEnumerable(Of String)等に変更しています。

Dim content As New Dictionary(Of String, Dictionary(Of String, IEnumerable(Of String)))

content.Add("list"New Dictionary(Of String, IEnumerable(Of String)) From {
            {"grouplist", {"fruit""animal""flower"}},
            {"fruit", {"リンゴ""バナナ""イチゴ"}},
            {"animal", {"イヌ""ネコ""ウサギ"}},
            {"flower", {"バラ""ユリ""キク"}}
         })

content.Add("list2"New Dictionary(Of String, IEnumerable(Of String)) From {
            {"grouplist", {"fruit""animal""flower"}},
            {"fruit", {"リンゴ""バナナ""イチゴ"}},
            {"animal", {"イヌ""ネコ""ウサギ"}},
            {"flower", {"バラ""ユリ""キク"}}
         })

'list に要素を追加 
content("list")("grouplist") = content("list")("grouplist").Append("planet")
content("list").Add("planet", {"Earth""Mars""Jupiter"})


Dim jsonText As String = JsonConvert.SerializeObject(content, Formatting.Indented)

Debug.WriteLine(jsonText)



list と list2 の値を連動させたい(=同じ1つの実体を指すようにしたい)のであれば次のような感じです。

Dim content As New Dictionary(Of String, Dictionary(Of String, IEnumerable(Of String)))

Dim manifest = New Dictionary(Of String, IEnumerable(Of String)) From {
            {"grouplist", {"fruit""animal""flower"}},
            {"fruit", {"リンゴ""バナナ""イチゴ"}},
            {"animal", {"イヌ""ネコ""ウサギ"}},
            {"flower", {"バラ""ユリ""キク"}}}

content.Add("list", manifest)
content.Add("list2", manifest)

manifest("grouplist") = manifest("grouplist").Append("planet")
manifest.Add("planet", {"Earth""Mars""Jupiter"})


Dim jsonText As String = JsonConvert.SerializeObject(content, Formatting.Indented)

Debug.WriteLine(jsonText)