VBA-JSON创建嵌套对象
我已经看到了很多示例,展示了如何使用VBA-json解析json字符串,但是我想知道如何使用这个库从头开始创建json对象 我从以下几点开始:VBA-JSON创建嵌套对象,json,vba,excel,Json,Vba,Excel,我已经看到了很多示例,展示了如何使用VBA-json解析json字符串,但是我想知道如何使用这个库从头开始创建json对象 我从以下几点开始: Set Json = JsonConverter.ParseJson("{}") Json("key") = "value" 这一点与预期相符 但是,如果要创建嵌套对象,例如: Json("new_key")(1)("value") = 1 Json("new_key")(2)("foo") = "bar" 不输出所需的:{“new_key”:[{“
Set Json = JsonConverter.ParseJson("{}")
Json("key") = "value"
这一点与预期相符
但是,如果要创建嵌套对象,例如:
Json("new_key")(1)("value") = 1
Json("new_key")(2)("foo") = "bar"
不输出所需的:{“new_key”:[{“value”:1},{“foo”:“bar”}}
使用此库是否可以实现这一点?还是有别的办法
谢谢诸如此类的东西:
Set Json = JsonConverter.ParseJson("{}")
'or
'Set Json = CreateObject("scripting.dictionary")
Json.Add "new_key", CreateObject("scripting.dictionary")
Json("new_key")("value") = 1
Json("new_key")("foo") = "bar"
可以在VBA中使用字典和集合。 然后将它们转换为Json。 这是一个例子:
Sub test()
Dim c As Collection
Dim d As Dictionary
Dim e As Dictionary
Dim f As Dictionary
Dim json As String
Set c = New Collection
Set d = New Dictionary
Set e = New Dictionary
Set f = New Dictionary
d.Add "value", 1
e.Add "foo", "bar"
c.Add d
c.Add e
f.Add "new_key", c
json = JsonConverter.ConvertToJson(ByVal f)
Debug.Print json
End Sub
这就是输出:
{"new_key":[{"value":1},{"foo":"bar"}]}
那么
myNest=“{”“new_key”“:{”“value”“:1”,“foo”“:”“bar”“}}}”怎么办呢?
似乎没有做到这一点……它会将密钥映射到字符串,并在尝试以Json(“new_key”)(“value”)形式访问单个值时出现错误我刚刚注意到我可能误读了您所需的输出:@xuanhai266的解决方案更匹配。是的,但事实上,我真正想要的是理解新嵌套键的创建,这一行Json.Add“new_key”,CreateObject(“scripting.dictionary”)实现了这一点。