C JSON字符串是一種用于存儲和傳輸數據的輕量級數據格式,它采用鍵值對的形式進行數據存儲和表達。C語言中提供了一組JSON字符串解析和構建的API,使用這些API可以輕松地把JSON字符串轉化為C語言數據類型,并且可以方便地把C語言數據類型轉化為JSON字符串。
// 解析JSON字符串 char* json_str = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }"; cJSON* root = cJSON_Parse(json_str); if (root == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } const cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name"); const cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age"); const cJSON* city = cJSON_GetObjectItemCaseSensitive(root, "city"); printf("name:%s, age:%d, city:%s\n", name->valuestring, age->valueint, city->valuestring); cJSON_Delete(root);
上面的代碼演示了如何解析一個JSON字符串,并且獲取其中的鍵值對。在解析完JSON字符串后,使用cJSON_Delete函數釋放內存空間。
// 構建JSON字符串 cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John"); cJSON_AddNumberToObject(root, "age", 30); cJSON_AddStringToObject(root, "city", "New York"); char* json_str = cJSON_Print(root); printf("%s\n", json_str); cJSON_Delete(root); free(json_str);
上述代碼演示了如何構建一個JSON字符串。通過cJSON_CreateObject函數創建一個JSON對象,然后使用cJSON_AddStringToObject和cJSON_AddNumberToObject向JSON對象中添加鍵值對,最后使用cJSON_Print函數把JSON對象轉化為JSON字符串。同樣,使用cJSON_Delete函數釋放內存空間。
在實際應用中,通過JSON字符串進行數據傳輸和存儲已經成為常見的做法,C JSON字符串提供的API,可以方便地實現JSON字符串的解析和構建。
上一篇c json字符串 引號
下一篇python 提取顏色點