Я играю с yajl в течение нескольких дней и очень люблю модель узла дерева. После того, как он будет обработан, вы получите структуру своего json-файла, и вы сможете пройти через него. Как пример здесь:Как использовать c yajl для потоковой передачи
http://lloyd.github.io/yajl/yajl-2.0.1/example_2parse_config_8c-example.html
Этот пример хорошо и легко понять, но я хотел бы знать, как использовать пример потокового который они показывают здесь. http://lloyd.github.io/yajl/yajl-2.0.1/reformatter_2json_reformat_8c-example.html Это было бы лучше для больших файлов, которые я себе представляю.
Пример потоковой передачи проходит и вызывает события всякий раз, когда парсер сталкивается с определенными вещами. Подобно тому, как он встречает логическое значение, он вызывает событие, которое обнаруживает логическое значение, и мне присваивается логическое значение. Тем не менее, я не знаю, какой ключ или объект принадлежит boolean. Аналогично, происходит событие закрытия карты. Что я могу сделать там? Карта закрыта, отлично. У меня есть этот указатель yajl_gen, и я не знаю, что с ним делать. Извиняюсь, если этот вопрос расплывчатый или я просто не знаю достаточно о yajl синтаксическом разборе. Спасибо за прочтение.
[yajl_test.c] (https://github.com/lloyd/yajl/blob/master/test/parsing/yajl_test.c) является лучшим примером, поскольку он использует настраиваемый контекст, первый аргумент функций обратного вызова , –