JSON是一種輕量級的數據交換格式,與XML相似但比XML更簡潔。在C語言中,我們可以通過使用第三方庫處理JSON數據。下面將介紹如何使用cJSON庫進行JSON的解析和生成。
// 解析JSON cJSON *json = cJSON_Parse(json_str); // json_str為要解析的字符串 if (!json) { printf("Error before: [%s]\n",cJSON_GetErrorPtr()); } else { // 獲取JSON對象中的值 cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); cJSON *array = cJSON_GetObjectItem(json, "array"); if(name) { printf("name: %s\n", name->valuestring); } if(age) { printf("age: %d\n", age->valueint); } if(array) { cJSON *item = NULL; cJSON_ArrayForEach(item, array) { printf("%s\n", item->valuestring); } } cJSON_Delete(json); } // 生成JSON cJSON *json = cJSON_CreateObject(); // 創建JSON對象 cJSON_AddItemToObject(json, "name", cJSON_CreateString("Alice")); cJSON_AddItemToObject(json, "age", cJSON_CreateNumber(18)); cJSON *array = cJSON_CreateArray(); cJSON_AddItemToArray(array, cJSON_CreateString("apple")); cJSON_AddItemToArray(array, cJSON_CreateString("banana")); cJSON_AddItemToArray(array, cJSON_CreateString("orange")); cJSON_AddItemToObject(json, "array", array); char *json_str = cJSON_Print(json); // 轉換為JSON字符串 printf("%s\n", json_str); free(json_str); cJSON_Delete(json);
通過以上代碼,我們可以看到使用cJSON庫對JSON進行了解析和生成。除此之外,cJSON還提供了許多其他功能,如刪除JSON對象、替換JSON值、判斷JSON數據類型等等,可以根據需要靈活使用。
上一篇c怎么做json數據
下一篇vue 移動端圖片