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

c 獲取到json 處理

吉茹定1年前9瀏覽0評論

在C語言中,操作JSON數據可以通過使用第三方庫進行解析和處理。一種常用的JSON庫是cJSON,它提供了一種解析JSON數據的簡單方法。

首先,需要將JSON數據讀入內存中。以下代碼演示了如何讀取JSON數據到一個字符串中:

char *json_string = "{\"name\": \"John\", \"age\": 25, \"city\": \"New York\"}";

然后,可以使用cJSON庫來解析JSON數據。以下是一個簡單的示例代碼:

// 創建JSON對象
cJSON *root = cJSON_Parse(json_string);
if (root == NULL){
printf(" Error before: [%s]\n",cJSON_GetErrorPtr());
}
else {
// 通過key獲取值
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("Name: %s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("Age: %d\n", age->valueint);
cJSON *city = cJSON_GetObjectItem(root, "city");
printf("City: %s\n", city->valuestring);
// 釋放JSON對象
cJSON_Delete(root);
}

在上述代碼中,首先使用cjson_Parse函數解析JSON字符串,并將解析結果存儲在root對象中。如果解析發生錯誤,則會打印錯誤消息。 之后,您可以使用cJSON_GetObjectItem函數通過給定的關鍵字獲取指定的JSON值并打印結果。最后,您將使用cJSON_Delete函數從內存中刪除JSON對象。

綜上所述,使用cJSON庫可以在C語言中解析和處理JSON數據。以下是相關代碼的完整示例:

#include#include#include "cJSON.h"
int main() {
// 讀取JSON數據
char *json_string = "{\"name\": \"John\", \"age\": 25, \"city\": \"New York\"}";
// 創建JSON對象
cJSON *root = cJSON_Parse(json_string);
if (root == NULL){
printf(" Error before: [%s]\n",cJSON_GetErrorPtr());
}
else {
// 通過key獲取值
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("Name: %s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("Age: %d\n", age->valueint);
cJSON *city = cJSON_GetObjectItem(root, "city");
printf("City: %s\n", city->valuestring);
// 釋放JSON對象
cJSON_Delete(root);
}
return 0;
}