c++ string 转json
时间: 2023-09-28 18:07:47 浏览: 161
string转json
4星 · 用户满意度95%
要将C字符串转换为JSON,您需要使用一个JSON库,例如CJSON。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
int main() {
char* jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
cJSON* json = cJSON_Parse(jsonString);
if (json == NULL) {
printf("Error parsing JSON string: %s\n", cJSON_GetErrorPtr());
return 1;
}
cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name");
cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age");
cJSON* city = cJSON_GetObjectItemCaseSensitive(json, "city");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("City: %s\n", city->valuestring);
cJSON_Delete(json);
return 0;
}
```
在此示例中,我们使用了一个名为`jsonString`的C字符串,其中包含一个JSON对象。我们使用`cJSON_Parse`将字符串解析为JSON对象。如果解析失败,`cJSON_Parse`将返回NULL,并且我们可以使用`cJSON_GetErrorPtr`获取有关错误的详细信息。
然后,我们使用`cJSON_GetObjectItemCaseSensitive`从JSON对象中获取各个值,并打印它们。
最后,我们使用`cJSON_Delete`释放内存并删除JSON对象。
阅读全文