C语言解析JSON格式的 "data":[ {"val":"1.2","name":"create"}, {"val":"5.0","name":"mune"}, {"val":"1","name":"opeState"} ],
时间: 2023-11-06 15:05:35 浏览: 156
C语言解析JSON格式可以使用第三方库,例如cJSON。cJSON是一个轻量级的JSON解析器,可以在C语言中使用。以下是使用cJSON解析该JSON格式的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
char *json_str = "{\"data\":[{\"val\":\"1.2\",\"name\":\"create\"},{\"val\":\"5.0\",\"name\":\"mune\"},{\"val\":\"1\",\"name\":\"opeState\"}]}";
cJSON *root = cJSON_Parse(json_str);
cJSON *data = cJSON_GetObjectItem(root, "data");
int size = cJSON_GetArraySize(data);
for (int i = 0; i < size; i++) {
cJSON *item = cJSON_GetArrayItem(data, i);
char *val = cJSON_GetObjectItem(item, "val")->valuestring;
char *name = cJSON_GetObjectItem(item, "name")->valuestring;
printf("val: %s, name: %s\n", val, name);
}
cJSON_Delete(root);
return 0;
}
```
该代码首先定义了一个JSON字符串,然后使用cJSON_Parse函数将其解析为一个cJSON对象。接着使用cJSON_GetObjectItem函数获取data数组,并使用cJSON_GetArraySize函数获取数组大小。最后使用cJSON_GetArrayItem和cJSON_GetObjectItem函数获取数组元素的val和name属性,并打印输出。最后使用cJSON_Delete函数释放内存。
阅读全文