我正在使用 cJSON 来解析包含键值的字符串。我想动态生成我的结构,为此我需要从这个字符串中读取所有键。
例如,我有一个像下面这样的 json,我想在运行时读取所有键。我不知道json中会出现哪些所有键。
{
"name": "abc",
"class": "First",
"division": "A",
"age": "10"
}
我如何在不知道键的情况下读取键和值?
我尝试使用指针链接到下一个孩子,但这似乎没有给我正确的值。
cJSON *root = cJSON_Parse(strMyJson);
cJSON *temp = root;
std::cout << "----------" << temp->child->string << "\n";//displays key - correct
std::cout << "----------" << temp->child->valuestring << "\n"; //displays value - correct
//below starts causing problem
temp = temp->child->next;
while (temp != NULL)
{
std::cout << "----------" << temp->string << "\n";
std::cout << "----------" << temp->valuestring << "\n";
temp = temp->child->next;
}
感谢你的帮助 !
-谢谢,小号