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

c json轉碼

錢斌斌2年前7瀏覽0評論

在開發中,有時候需要將Json數據轉為C語言中能夠使用的數據結構,或者需要將C語言中的數據轉為Json數據格式。這時候就需要使用C Json轉碼庫。

首先,需要下載C Json轉碼庫。目前比較流行的C JSON庫有cJSON,json-c,Jansson等。

// 使用cJSON庫的示例代碼如下
#include <stdio.h>
#include <cJSON.h>
int main()
{
// 將Json字符串轉為cJSON結構體
const char *str1 = "{\"name\":\"Tom\",\"age\":18}";
cJSON *json1 = cJSON_Parse(str1);
if(json1 == NULL) {
printf("json1 parse error\n");
return 0;
}
// 從cJSON結構體中獲取數據
cJSON *name1 = cJSON_GetObjectItem(json1, "name");
cJSON *age1 = cJSON_GetObjectItem(json1, "age");
printf("name: %s, age: %d\n", name1->valuestring, age1->valueint);
// 將cJSON結構體轉為Json字符串
char *str2 = cJSON_Print(json1);
printf("json str1: %s\n", str2);
cJSON_Delete(json1);
return 0;
}

以上代碼首先將Json字符串轉換為cJSON結構體,然后通過cJSON_GetObjectItem函數獲取到相應key的value,最后將cJSON結構體轉為Json字符串。

接下來,我們看看如何使用json-c庫進行轉碼。

// 使用json-c庫的示例代碼如下
#include <stdio.h>
#include <json-c/json.h>
int main()
{
// 將Json字符串轉為json_object結構體
const char *str1 = "{\"name\":\"Tom\",\"age\":18}";
json_object *json1 = json_tokener_parse(str1);
if(json1 == NULL) {
printf("json1 parse error\n");
return 0;
}
// 從json_object結構體中獲取數據
json_object *name1 = json_object_object_get(json1, "name");
json_object *age1 = json_object_object_get(json1, "age");
printf("name: %s, age: %d\n", json_object_get_string(name1), json_object_get_int(age1));
// 將json_object結構體轉為Json字符串
char *str2 = json_object_to_json_string(json1);
printf("json str1: %s\n", str2);
json_object_put(json1);
return 0;
}

以上代碼同樣是先將Json字符串轉換為json_object結構體,然后通過json_object_object_get函數獲取到相應key的value,最后將json_object結構體轉為Json字符串。

兩種轉碼方式都很容易上手,根據實際需要進行選擇。