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

c 打印json對象

錢良釵1年前8瀏覽0評論

json是一種輕量級的數據交換格式,而在c語言中打印json對象也是比較常見的操作。下面我們就來介紹一下如何在c語言中打印json對象。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main() {
const char *json_str = "{\"name\":\"Jack\",\"age\":23,\"gender\":\"Male\"}";
json_t *root;
json_error_t error;
root = json_loads(json_str, JSON_DECODE_ANY, &error);
if (!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
char *dump = json_dumps(root, JSON_INDENT(2) | JSON_PRESERVE_ORDER | JSON_ENCODE_ANY);
printf("%s\n", dump);
free(dump);
json_decref(root);
return 0;
}

上面的代碼首先定義了一個json字符串,然后調用json_loads函數將其轉化為json_t類型的對象root。其中JSON_DECODE_ANY表示允許該對象中含有任何元素,而error用于描述轉化過程中的錯誤信息。接著,我們調用json_dumps方法將root對象中的信息以縮進為2,按原順序,編碼任意的方式轉化為JSON字符串。最后,將該字符串打印出來。

需要注意的是,我們在使用json_t時,應該在最后一步調用json_decref方法來釋放動態分配的內存。否則,一旦內存泄漏,則會導致程序異常。