【发布时间】:2012-10-05 06:39:46
【问题描述】:
我见过很多用 C 语言解析 JSON 的库,但没有一个库可以直接从文件流中读取和解析。所有此类库(例如 Yajl、cjson)的问题在于,如果文件中的 json 文档很大,那么您必须首先将所有这些内容读入内存缓冲区,然后运行这些库提供的 API 来解析它。
API 通常看起来像
cJSON *cJSON_Parse(const char *value)
将 char* 带入缓冲区。
我想避免这种情况,因为我的文件可能非常大,而且我事先不知道文件的大小。此外,这些库维护对实际缓冲区中的对象、数组的引用以检索值,因此我无法释放原始缓冲区。
是否有可以直接从文件流中读取和解析的 JSON 解析库?
【问题讨论】: