C语言从json串中取出子字符串
时间: 2023-07-25 18:47:24 浏览: 84
C语言输出字符串的子串
可以使用第三方库,例如 cJSON,来解析 JSON 字符串,然后取出需要的子字符串。
以下是一个示例代码:
```c
#include <stdio.h>
#include "cJSON.h"
int main() {
const char *json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON *root = cJSON_Parse(json_str);
if (root != NULL) {
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
if (name != NULL && name->valuestring != NULL) {
printf("Name: %s\n", name->valuestring);
}
if (age != NULL && age->valueint > 0) {
printf("Age: %d\n", age->valueint);
}
if (city != NULL && city->valuestring != NULL) {
printf("City: %s\n", city->valuestring);
}
cJSON_Delete(root);
}
return 0;
}
```
以上代码可以从 JSON 字符串中取出 "name"、"age"、"city" 三个子字符串并打印输出。请注意,这里使用 cJSON_Parse 函数将 JSON 字符串解析成 cJSON 对象,然后使用 cJSON_GetObjectItem 函数获取具体的子字符串。
阅读全文