Я использую json-c для анализа следующей строки JSON:
{
"root": {
"a": "1",
"b": "2",
"c": "3"
}
}
И у меня есть следующий код C. Приведенный выше JSON хранится в переменной b.
json_object *new_obj, *obj1, *obj2;
int exists;
new_obj = json_tokener_parse(b);
exists=json_object_object_get_ex(new_obj,"a",&obj1);
if(exists==false) {
printf("key \"a\" not found in JSON");
return;
}
exists=json_object_object_get_ex(new_obj,"b",&obj2);
if(exists==false) {
printf("key \"b\" not found in JSON");
return;
}
Какое правильное имя ключа использовать для получения значения из ключа «a» с помощью json_object_get_ex?
То, что у меня есть, не работает (существует неверно для обоих запросов) для JSON, который у меня есть выше, но работает для следующего JSON. Я уверен, что это связано с непониманием того, какой ключ использовать для «пути» к ключу «а».
{
"a": "1",
"b": "2",
"c": "3"
}