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

c json字符串

林國瑞2年前9瀏覽0評論

cJSON是一個輕巧而強大的C語言JSON解析器,可將JSON數據轉換為C語言結構并將C語言結構轉換回JSON數據。使用cJSON處理JSON數據的過程非常簡單,首先將JSON數據加載到cJSON對象中,然后使用cJSON API處理JSON對象。

#include "cJSON.h"
int main()
{
const char* json_string = "{\"name\":\"Tom\",\"age\":18,\"sex\":\"male\",\"hobby\":[\"reading\",\"swimming\"]}";
cJSON* root = cJSON_Parse(json_string);   //將JSON數據加載到cJSON對象中
if (root == NULL)
{
printf("Parse Error: %s\n", cJSON_GetErrorPtr());
return -1;
}
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");   //獲取對象中的屬性
cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON* sex = cJSON_GetObjectItemCaseSensitive(root, "sex");
printf("name: %s, age: %d, sex: %s\n", name->valuestring, age->valueint, sex->valuestring);
cJSON* hobby_array = cJSON_GetObjectItemCaseSensitive(root, "hobby");   //獲取數組
int hobby_count = cJSON_GetArraySize(hobby_array);   //獲取數組中元素個數
printf("hobbies: [");
for (int i = 0; i< hobby_count; i++)
{
cJSON* hobby_item = cJSON_GetArrayItem(hobby_array, i);
printf("%s", hobby_item->valuestring);
if (i != hobby_count - 1)
{
printf(", ");
}
}
printf("]\n");
cJSON_Delete(root);   //釋放cJSON對象內存
return 0;
}

在代碼中,我們首先定義了一個JSON字符串,這里用到了C語言中的轉義符,對于特殊的字符如雙引號、反斜杠等需要進行轉義。接著我們通過cJSON_Parse函數將JSON字符串加載到cJSON對象中,如果解析失敗會返回NULL,此時可通過cJSON_GetErrorPtr函數獲取錯誤信息。接下來通過cJSON_GetObjectItemCaseSensitive函數獲取cJSON對象中的屬性值,通過cJSON_GetArrayItem函數獲取數組中的元素值。最后通過cJSON_Delete函數釋放cJSON對象內存。