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

c 字符串轉化為json格式化

夏志豪2年前9瀏覽0評論

C 字符串轉化為 JSON 格式化是一個相當常見的操作,尤其是在與網絡通信相關的應用場景中。雖然手動解析字符串并將其轉為 JSON 格式也有可能實現,但如果使用現有的一些開源庫,則可以大大簡化工作量,提高代碼質量和可維護性。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main(void) {
// 設定字符串
const char *str = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
// 解析字符串
json_t *obj = json_loads(str, 0, NULL);
if (!obj) {
fprintf(stderr, "error: on line %d: %s\n", json_error_line, json_error_text);
exit(1);
}
// 獲取屬性
const char *name = json_string_value(json_object_get(obj, "name"));
int age = json_integer_value(json_object_get(obj, "age"));
const char *city = json_string_value(json_object_get(obj, "city"));
// 輸出屬性
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("City: %s\n", city);
// 清理資源
json_decref(obj);
return 0;
}

可以看到,使用 jansson 庫,只需幾行代碼即可將字符串轉化為 JSON 格式,并獲取其中的屬性值。如上代碼,首先為字符串設定初始值。然后解析字符串,將其轉化為 JSON 對象,如果解析失敗則輸出錯誤信息并退出程序。接著可以使用 json_object_get 函數,根據屬性名獲取屬性值,并根據數據類型轉化為相應的 C 變量。最后輸出屬性值,并清理資源。