我已经看到很多例子展示了如何使用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":[{"value": 1}, {"foo": "bar"}]}
这可以用这个库来实现吗?或者还有另一种方法吗?
由于
答案 0 :(得分:3)
您可以在VBA中使用Dictionary和Collection。 之后将它们转换为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"}]}
答案 1 :(得分:2)
这样的事情:
template<typename Callable, typename... Args>
decltype(auto) call(Callable&& op, Args&&... args) {
// here
}