C lib直接从文件流中读取和解析JSON

标签 c json parsing cjson

我见过很多用 C 语言解析 JSON 的库,但没有一个可以直接从文件流中读取和解析。所有这些库(例如 Yajl、cjson)的问题在于,如果文件中的 json 文档很大,那么您必须首先将所有这些读入内存缓冲区,然后运行这些库提供的 API 来解析它。

API 通常看起来像

cJSON *cJSON_Parse(const char *value)

将 char* 放入缓冲区。

我想避免这种情况,因为我的文件可能非常大,而且我事先不知道文件的大小。此外,这些库维护对对象的引用,实际缓冲区中的数组以检索值,因此我无法释放原始缓冲区。

有没有可以直接从文件流中读取解析的JSON解析库?

最佳答案

http://lloyd.github.com/yajl/可能是您正在寻找的东西

关于C lib直接从文件流中读取和解析JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12740870/

相关文章:

javascript - 排序对象属性和 JSON.stringify

ruby - 使用 Net/http 以 JSON 格式发布 Ruby 数据

java - javacc 中多余的 LOOKAHEAD 会导致错误吗?

python - 在Python中解析参数

javascript - Backbone Collection 模型有误

c - 将文件的每一行分配给数组的每个元素

c - 像 OpenMP 这样的 golang 中有一个简单的 `parallel for` 吗?

c - 为什么在 Linux mint 15 中执行 C 程序时会出现错误 "bash: ./a.out: Permission denied"

Java LocalDate 解析

c - 如何读取SPI总线上连接的ROM的第0地址?