Разбор JSON с помощью C [закрыто]



Я пытаюсь найти хороший способ разбора JSON в C. Мне действительно не нужна огромная библиотека или что-то еще, я бы предпочел что-то маленькое и легкое с минимальным количеством функций, но хорошей документацией.



кто-нибудь может мне точку в?

633   7  

7 ответов:

Json не является огромным языком для начала, поэтому библиотеки для него, вероятно, будут небольшими(по крайней мере, чем библиотеки Xml).

там целая тонна библиотеки C, связанные по адресу Json.org. может быть, один из них будет хорошо работать для вас.

cJSON имеет приличный API и небольшой (2 файла, ~700 строк). Многие из других парсеров JSON, на которые я посмотрел сначала, были огромными... Я просто хочу разобрать некоторые JSON.

Edit: мы сделали некоторые улучшения в cJSON на протяжении многих лет.

Jsmn довольно минималистичен и имеет только две функции для работы.

http://zserge.bitbucket.org/jsmn.html

NXJSON это полнофункциональный, но очень маленький (~400 строк кода) парсер JSON, который имеет простой в использовании API:

const nx_json* json=nx_json_parse_utf8(code);
printf("hello=%s\n", nx_json_get(json, "hello")->text_value);
const nx_json* arr=nx_json_get(json, "my-array");
int i;
for (i=0; i<arr->length; i++) {
  const nx_json* item=nx_json_item(arr, i);
  printf("arr[%d]=(%d) %ld\n", i, (int)item->type, item->int_value);
}
nx_json_free(json);

Я JSON-C для рабочего проекта и рекомендовал бы его. Легкий и выпущен с открытым лицензированием.

документация включена в дистрибутив. У вас в основном есть *_add функции для создания объектов JSON, эквивалентные *_put функции для освобождения памяти и служебные функции, преобразующие типы и выходные объекты в строковое представление.

лицензирование позволяет включение с вашим проектом. Мы использовали его таким образом, компиляция JSON-C как статической библиотеки, которая связана с основной сборкой. Таким образом, нам не нужно беспокоиться о зависимостях (кроме установки Xcode).

JSON-C также построен для нас под OS X (x86 Intel) и Linux (x86 Intel) без инцидентов. Если ваш проект должен быть портативным, это хорошее начало.

вы можете посмотреть на Янссон

на сайте указано следующее: Jansson-это библиотека C для кодирования, декодирования и управления данными JSON. К услугам гостей:

  • простой и интуитивно понятный API и модель данных
  • может как кодировать, так и декодировать из JSON
  • полная документация
  • никаких зависимостей от других библиотек
  • полная поддержка Unicode (UTF-8)
  • Большой тест люкс

вам нужно проанализировать произвольные структуры JSON или просто данные, специфичные для вашего приложения. Если последнее, вы можете сделать его намного легче и эффективнее, не имея необходимости создавать какие-либо хэш-таблицы/карты структуры сопоставления JSON ключи к значениям; вместо этого вы можете просто хранить данные непосредственно в структурах полей или что-то еще.

Comments

    Ничего не найдено.