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

c 將字符串解析成json

傅智翔2年前7瀏覽0評論

在C語言中,解析JSON字符串是一項基本操作。

JSON是一種輕量級數據格式,通常用于Web應用程序中的數據交換。它由鍵值對組成,鍵和值之間用冒號分隔,鍵值對之間用逗號分隔,整個JSON字符串用花括號括起來。

以下是一個簡單的JSON字符串示例:

{
"name": "John",
"age": 30,
"city": "New York"
}

要在C中解析JSON字符串,您可以使用一個叫做“ cJSON”的庫。

以下是一個簡單的示例程序,演示如何使用cJSON庫將JSON字符串解析為C結構體:

#include <stdio.h>
#include <cJSON.h>
int main() {
char json[] = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON *root = cJSON_Parse(json);
if (root == NULL) {
printf("Error: Failed to parse JSON string.");
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("City: %s\n", city->valuestring);
cJSON_Delete(root);
return 0; 
}

在上面的程序中,我們首先定義了一個JSON字符串,它包含一個人的姓名、年齡和城市。

然后,我們使用cJSON_Parse()函數將JSON字符串解析為CJSON對象,如果解析失敗,則打印錯誤信息并返回一個非零值。

接下來,我們使用cJSON_GetObjectItem()函數獲取CJSON對象中的“name”、“age”和“city”鍵的值,并將其存儲在變量中。我們可以使用valuestring和valueint成員訪問這些值。

最后,我們使用cJSON_Delete()函數釋放CJSON對象的內存,避免內存泄漏。

這是如何在C語言中解析JSON字符串的一個簡單例子。使用cJSON庫,您可以輕松地將JSON字符串解析為C結構體。