Tag: json

JSON模式validation

是否有一个稳定的库可以根据模式validationJSON? json-schema.org提供了一个实现列表 。 值得注意的是C和C ++缺失。 有没有理由我不能轻易找到C ++ JSON模式validation器? 没有其他人想要快速validation传入的JSON文件吗?

使用C解析JSON?

有几个可用于解析JSON的C库,它们将在Linux上编译。 你会推荐哪个图书馆?

使用JSON数据

我想在C中创建一个简单的twitter客户端。我是新手,并且不确定如何从我从API获得的JSON字符串中分离有意义的东西。 例如,如果我将此作为API的响应,我如何将“text”的值提取到字符串(char *)中? 我想我可以在低级别处理字符串,但是每次我需要从JSON字符串中获取值时,这不会变得太乏味吗?

cJSON内存泄漏

我在程序中使用cJSON将我的值转换为JSON并将其写入文件。 以下是我的代码示例: void writeStructToFile(IOPipe this, struct structtype somevalues) { cJSON *jout = cJSON_CreateObject(); cJSON_AddItemToObject(jout, “V1”, cJSON_CreateNumber(somevalues.v1)); cJSON_AddItemToObject(jout, “V2”, cJSON_CreateNumber(somevalues.v2)); fprintf(this->outstream, “%s”, cJSON_Print(jout)); cJSON_Delete(jout); } 效果很好,但过了一段时间后,我发现Linux(嵌入式)因为内存使用exception或设备(在Cortex A8上)挂起而导致程序死机。 我发现调试后,即使我在结尾处删除指针,该泄漏也会出现在此函数中。 谁能看到泄漏?

c中的json数组解析

我试图解析一个json数组,我面临着问题。 我的数组是这样的: configure: { “id”: 4, “userId”: 107, “deviceMacAddress”: “00:06:66:30:02:3C”, “medication”: [{ “id”: 11, “version”: 18, “name”: “name1”, “unit”: “mg”, “forMed”: “for1”, “schedule”: [1] }, { “id”: 45, “version”: 1, “name”: “sdga”,, “unit”: “mg”, “forMed”: “54234”, “schedule”: [0,1,2,3,4,5,6] }], 我能够访问药物数组和打印总数组,但无法访问数组内的对象。 你能用C语言建议任何解决方案或任何例子吗? mycode的 int main(int argc, char **argv) { struct json_object *med_obj, *medi_obj, *tmp1_obj; struct array_list […]

Windows是否有可以从C调用的JSON API?

我可以在C中调用Windows中的JSON本机实现吗? 如果没有,那么.NET或C#呢? 或者,如果人们希望在Windows应用程序中使用JSON时使用任何库或实现,该怎么办?

怎么读大json?

我收到了带有要在R中分析的数据的json文件,为此我使用了RJSONIO包: library(RJSONIO) filename <- "Indata.json" jFile <- fromJSON(filename) 当json文件大于约300MB(未压缩)时,我的计算机开始使用交换内存并继续解析(fromJSON)几个小时。 一个200MB的文件只需要一分钟就可以解析。 我在Ubuntu 64bit和16GB RAM上使用R 2.14(64位),所以我很惊讶需要交换大约300MB的json。 我怎么能读大jsons? 内存设置中有什么东西搞砸了吗? 我已重新启动R并仅运行上面的三行。 json文件包含2-3列短字符串,10-20列包含0到1000000之间的数字。即,它是大小的行数(在解析数据中超过一百万行)。 更新:从评论中我了解到rjson在C中做得更多,所以我试了一下。 带有RJSONIO(根据Ubuntu系统监视器)的300MB文件达到了100%的内存使用率(从6%基线开始)并继续进行交换,只需要60%的内存和rjson包,并且在合理的时间(分钟)内完成解析。

在ANSI C中解析JSON

我想将JSON编码的数据读入C结构。 json数据的结构是事先已知的,相对平坦并且被一些C struct typedef模仿。 第三级左右的数组包含一个非常冗长的JSON对象列表,必须一次处理一个。 该代码旨在在非常有限的系统上运行,因此库不应动态分配内存。 我知道有Crockford的JSON库列表 ,但我不太确定哪一个最适合所述问题。

使用libcurl在C中进行JSON请求

我在C中使用libcurl定义了一个带有JSON请求体的PUT请求。 我是这样做的: sprintf(jsonObj, “\”name\” : \”%s\”, \”age\” : \”%s\””, name, age); struct curl_slist *headers = NULL; curl_slist_append(headers, “Accept: application/json”); curl_slist_append(headers, “Content-Type: application/json”); curl_slist_append(headers, “charsets: utf-8”); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, “PUT”); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonObj); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); curl_easy_setopt(curl, CURLOPT_USERAGENT, “libcrp/0.1″); res = curl_easy_perform(curl); 请求正文如下: { ‘”name” : “Pedro”, […]