dre*_*c4s 2 excel vba json excel-vba
我已经看到了很多示例,这些示例显示了如何使用VBA-JSON解析JSON字符串,但是我想知道如何使用该库从头开始创建JSON对象。
我已经开始:
Set Json = JsonConverter.ParseJson("{}")
Json("key") = "value"
Run Code Online (Sandbox Code Playgroud)
并且这按预期工作。
但是,如果要创建嵌套对象,例如:
Json("new_key")(1)("value") = 1
Json("new_key")(2)("foo") = "bar"
Run Code Online (Sandbox Code Playgroud)
不输出预期的: {"new_key":[{"value": 1}, {"foo": "bar"}]}
Is this possible to achieve with this library? Or is there another way to do it?
Thanks
您可以在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
Run Code Online (Sandbox Code Playgroud)
这是输出:
{"new_key":[{"value":1},{"foo":"bar"}]}
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4617 次 |
| 最近记录: |