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

c 獲取json值

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

在C語言中,獲取JSON值需要使用第三方庫,如必要的 JSON-C 庫或 CJSON 庫。這些庫可以幫助您解析JSON字符串并獲取鍵值對。下面是一個基本的演示,展示如何在C程序中獲取JSON值。

#include <stdio.h>
#include <stdlib.h>
#include <cjson/cJSON.h>
int main() {
char* json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON* root = cJSON_Parse(json_string);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON* city = cJSON_GetObjectItemCaseSensitive(root, "city");
if (!cJSON_IsString(name) || !cJSON_IsNumber(age) || !cJSON_IsString(city)) {
printf("Error: JSON structure is incorrect.\n");
cJSON_Delete(root);
return 1;
}
printf("Name: %s, Age: %d, City: %s\n", name->valuestring, age->valueint, city->valuestring);
cJSON_Delete(root);
return 0;
}

在代碼中,我們首先定義JSON字符串,這里我們使用一個包含“name”,“age”和“city”鍵值對的簡單JSON字符串。然后,我們使用cJSON_Parse函數將字符串轉換為JSON對象。如果在轉換過程中發生錯誤,我們將在控制臺上輸出錯誤信息。

在解析完JSON之后,我們使用cJSON_GetObjectItemCaseSensitive函數來獲取JSON中的鍵值對,以便能夠在控制臺上打印出該信息。在這里我們將獲取的值轉換為字符串和數字的格式,并確保確保JSON結構正確。如果JSON結構是不正確的,則會在控制臺上輸出錯誤信息并刪除JSON對象。

最后,我們需要使用cJSON_Delete函數將我們創建的JSON對象從內存中刪除。這是一個必須要做的步驟,以確保我們程序的正確性、可讀性、健壯性。