Как создать массив с помощью libjson? - PullRequest
2 голосов
/ 01 февраля 2012

Я хочу создать массив с JSONNode в libJSON.Я пробовал следующее, но это не работает:

JSONNode array;
JSONNode foo("word", "foo");
JSONNode bar("word", "bar");
array.push_back(foo);
array.push_back(bar);

Это приводит к:

{ 
    "word": "foo", 
    "word": "bar"
}

Что я хочу:

[
    {"word": "foo"},
    {"word": "bar"}
]

Мне ясно, что я не указываю, что я хочу массив.Дело в том, что я обыскал библиотеку и немного погуглил, но не могу это сделать.Кто-нибудь может мне помочь с этим?

(Sidenote: Я хотел добавить тэг "libjson", но этого пока не существует.)

1 Ответ

7 голосов
/ 01 февраля 2012

Необходимо указать, что вы создаете массив и сложные узлы:

JSONNode array(JSON_ARRAY);
JSONNode foo(JSON_NODE);
JSONNode bar(JSON_NODE);

foo.push_back(JSONNode("word", "foo"));
bar.push_back(JSONNode("word", "bar"));

array.push_back(foo);
array.push_back(bar);

См. Документацию "Начало работы" в libjson-VERSION.zip для некоторых основных примеров.

Примечание: лично я обнаружил, что с libjson надоело работать, а документации крайне не хватает. В моих собственных проектах я использую JsonCpp или (чаще) Янссон в качестве моего C / C ++ JSON API. Если вы не привязаны к libjson, вы можете попробовать их.

...