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

c 解析http的json串

老白1年前6瀏覽0評論

C語言常用的JSON解析庫有很多,但常見的幾種有 cJSON、Jansson、yajl 等。

下方是使用Json-c庫解析HTTP返回的JSON串的代碼示例:

#include <stdio.h>
#include <stdlib.h>
#include <json-c/json.h>
int main(void) {
char *json_str = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
/* parse json字符串,得到指向json_object類型的指針 */
json_object* json_obj = json_tokener_parse(json_str);
/* 解析json中的鍵值對 */
const char* name = json_object_get_string(json_object_object_get(json_obj, "name"));
int age = json_object_get_int(json_object_object_get(json_obj, "age"));
const char* city = json_object_get_string(json_object_object_get(json_obj, "city"));
/* 輸出解析結果 */
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("City: %s\n", city);
/* 釋放json對象指針 */
json_object_put(json_obj);
return 0;
}

代碼解釋:

1. 將HTTP返回的JSON串賦值給指針變量 json_str。

2. 使用 json_tokener_parse 函數解析 JSON 字符串,得到指向 json_object 類型的指針。

3. 使用 json_object_object_get 函數獲取指定鍵值對的指針,然后再使用 json_object_get_string 和 json_object_get_int 函數將指針里面的值轉為字符串或整數。

4. 最后使用 printf 函數將解析結果輸出到控制臺上。

5. 最后需要使用 json_object_put 函數釋放 json 對象指針。