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

c 把字符串轉(zhuǎn)換成json對(duì)象

C語(yǔ)言中可以使用json-c這個(gè)開源庫(kù)來操作json對(duì)象,其中包含了json的解析和生成函數(shù),可以很方便地把字符串轉(zhuǎn)換成json對(duì)象。

首先需要在代碼中引入json-c頭文件:

#include <json-c/json.h>

然后使用json_tokener_parse函數(shù)將字符串解析為json對(duì)象:

const char *json_string = "{\"name\":\"Tom\", \"age\":20}";
struct json_object *json_obj = json_tokener_parse(json_string);

此時(shí)json_obj就是一個(gè)指向json對(duì)象的指針,可以使用json_object_put函數(shù)來釋放該對(duì)象:

json_object_put(json_obj);

json對(duì)象有多種類型,包括json_type_null、json_type_boolean、json_type_int、json_type_double、json_type_string、json_type_array和json_type_object。可以使用json_object_get_type函數(shù)來獲取json對(duì)象的類型:

enum json_type type = json_object_get_type(json_obj);
switch (type)
{
case json_type_null:
printf("json object is null type\n");
break;
case json_type_boolean:
printf("json object is boolean type\n");
break;
case json_type_int:
printf("json object is integer type\n");
break;
case json_type_double:
printf("json object is double type\n");
break;
case json_type_string:
printf("json object is string type\n");
break;
case json_type_array:
printf("json object is array type\n");
break;
case json_type_object:
printf("json object is object type\n");
break;
}

可以使用json_object_object_get_ex函數(shù)來獲取json對(duì)象中的某個(gè)key對(duì)應(yīng)的value:

struct json_object *name_obj;
json_bool ret = json_object_object_get_ex(json_obj, "name", &name_obj);
if (ret)
{
printf("name: %s\n", json_object_get_string(name_obj));
}
else
{
printf("cannot find name key\n");
}

這些是C語(yǔ)言中利用json-c庫(kù)將字符串轉(zhuǎn)換成json對(duì)象的基本技巧,通過這些技巧可以更方便地使用json。