色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 將字符串解析為json

吉茹定2年前8瀏覽0評論

在C語言中解析JSON格式字符串是一項相對復雜的任務,一般需要借助第三方庫實現。而最常用的JSON解析庫之一就是cJSON。cJSON是一個快速、輕便、源碼級的C語言JSON解析器,具有高效、可擴展等優秀特性。

要使用cJSON解析JSON格式字符串,首先需要進行第一步——將JSON字符串轉化為cJSON格式的樹狀結構。完成之后,我們就可以方便地使用cJSON提供的接口來獲取JSON的各個屬性值了。

cJSON* json = cJSON_Parse(jsonString);
if (json == NULL) {
printf("Failed to parse JSON string.\n");
} else {
// Successfully parsed JSON string.
}

在上述代碼中,我們使用了cJSON_Parse函數將JSON格式字符串轉換為cJSON結構。如果轉換失敗,函數將返回NULL,否則將返回一個cJSON對象,我們可以通過該對象獲取JSON的所有屬性值。

接下來,就可以使用cJSON提供的各種函數來獲取JSON的屬性值。這些函數包括:cJSON_GetObjectItem、cJSON_GetArrayItem、cJSON_GetStringValue、cJSON_GetNumberValue等等。具體使用方法可以參考cJSON官方文檔。

下面是一個解析JSON格式字符串的完整例子:

#include#include "cJSON.h"
int main() {
char* jsonString = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
cJSON* json = cJSON_Parse(jsonString);
if (json == NULL) {
printf("Failed to parse JSON string.\n");
return 1;
}
cJSON* name = cJSON_GetObjectItem(json, "name");
cJSON* age = cJSON_GetObjectItem(json, "age");
cJSON* city = cJSON_GetObjectItem(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;
}

在上述代碼中,我們直接將一個JSON格式字符串作為輸入,解析出其中的name、age和city三個屬性值,并進行輸出。