将 JSON 对象存储到 C++ 映射

Smi*_*thy 5 c++ json dictionary

我需要你们的帮助。

目前我正在使用 cJSON 来解析格式化为 Json 标准的数据。

下面的数据是数据的示例。

{
    "time" : {              
        "timezone" : string,
        "ntpservers" : array<string>
    },
    "datetime" : {
        "value" : "2013-10-23 03:35:45.182042",
        "space-custom-class" : "datetime.datetime"
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道如何将数据分解为键值对并将它们存储在地图中。我可以看到“时间”是一个键,但值是一个字典,所以我如何将其存储为“时间”的值,这适用于“日期时间”键。我知道这涉及到一些迭代,但我被困住了。因为值可以是基本类型、数组或字典,所以值应该是像模板这样的通用对象吗?一些例子会非常有帮助。

预先感谢您的任何帮助。

小智 0

我会看一下 boost::property_tree ,它会让您不必自己编写代码。

http://www.boost.org/doc/libs/1_54_0/doc/html/property_tree.html