欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 嵌套json解析

林玟書2年前8瀏覽0評論

嵌套 JSON 的解析在 C 語言中是一項非常基礎的任務。我們通常使用 JSON 來存儲數據,它有助于我們在不同平臺之間傳遞數據。C 語言的內置庫 cJSON 提供了一種簡單的方法來解析 JSON 字符串。

#include <stdio.h>
#include <cjson/cJSON.h>
int main() {
char *json_string = "{\"name\": \"Tom\", \"age\": 25, \"address\": {\"street\": \"Main St\", \"city\": \"New York\"}}";
cJSON *json = cJSON_Parse(json_string); // 解析 JSON 字符串
if (json == NULL) {
printf("Failed to parse JSON: %s\n", cJSON_GetErrorPtr());
return 1;
}
cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name"); // 獲取 name 屬性
cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age"); // 獲取 age 屬性
cJSON *address = cJSON_GetObjectItemCaseSensitive(json, "address"); // 獲取 address 屬性
printf("Name: %s\n", cJSON_GetStringValue(name));
printf("Age: %d\n", cJSON_GetNumberValue(age));
printf("Address: %s, %s\n", cJSON_GetObjectItemCaseSensitive(address, "street")->valuestring, cJSON_GetObjectItemCaseSensitive(address, "city")->valuestring);
cJSON_Delete(json); // 釋放內存
return 0;
}

在上面的代碼中,我們首先定義了一個 JSON 字符串。然后使用 cJSON_Parse() 函數將其解析成 cJSON 對象。cJSON_GetObjectItemCaseSensitive() 函數用于獲取 JSON 對象的屬性。我們可以通過傳遞一個 cJSON 對象和一個屬性的名稱來獲取該屬性的值。

這里注意到 address 屬性是一個嵌套的 JSON 對象。因此,我們需要先獲取該屬性,然后再獲取其內部屬性的值。我們可以使用 cJSON_GetObjectItemCaseSensitive() 函數來獲取內部對象屬性的值。

最后,我們釋放 cJSON 對象所占用的內存。cJSON_Delete() 函數可以用于刪除 cJSON 對象。

上一篇vue ace