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

c 中使用json傳參數

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

在C語言中使用JSON傳遞參數,可以方便地將多個參數打包為一個JSON對象進行傳輸和解析。下面是一個簡單的示例:

#include <stdio.h>
#include <jansson.h>
int main()
{
// 創建一個JSON對象
json_t *json = json_object();
// 設置參數值
json_object_set_new(json, "name", json_string("張三"));
json_object_set_new(json, "age", json_integer(20));
json_object_set_new(json, "height", json_real(1.8));
json_object_set_new(json, "hobbies", json_pack("[ssss]", "游泳", "跑步", "旅游", "閱讀"));
// 序列化JSON對象為字符串
const char *json_str = json_dumps(json, JSON_COMPACT);
// 輸出JSON字符串
printf("%s\n", json_str);
// 解析JSON字符串為對象
json_t *json_obj = json_loads(json_str, JSON_DECODE_ANY, NULL);
// 獲取參數值
const char *name = json_string_value(json_object_get(json_obj, "name"));
int age = json_integer_value(json_object_get(json_obj, "age"));
double height = json_real_value(json_object_get(json_obj, "height"));
json_t *hobbies_arr = json_object_get(json_obj, "hobbies");
// 遍歷數組元素
size_t idx;
json_t *value;
const char *hobby;
json_array_foreach(hobbies_arr, idx, value) {
hobby = json_string_value(value);
printf("愛好%d:%s\n", idx+1, hobby);
}
// 釋放對象和內存
json_decref(json);
json_decref(json_obj);
free(json_str);
return 0;
}

上述代碼中,首先創建了一個JSON對象,然后設置了一些參數值,包括字符串、整數、實數和數組。接著,使用json_dumps將JSON對象序列化為字符串,輸出到控制臺進行查看。然后,通過json_loads解析JSON字符串,獲取對應的參數值。最后,遍歷數組元素并輸出。

需要注意的是,在使用json_object_set_new設置參數值時,需要使用相應的JSON類型的構造函數。例如json_string、json_integer、json_real和json_pack等。解析JSON字符串時,可以通過json_string_value、json_integer_value、json_real_value等獲取對應類型的值。