JSON是一種輕量級的數(shù)據(jù)交換格式。在C語言中,可以使用第三方庫來解析和生成JSON數(shù)據(jù)。
#include <stdio.h> #include <jansson.h> int main() { const char *json_str = "{\"name\":\"Tom\",\"age\":20}"; // 解析JSON數(shù)據(jù) json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (root == NULL) { fprintf(stderr, "json loads error: %d at %d:%d\n", error.line, error.column, error.position); return 1; } // 讀取JSON數(shù)據(jù) const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); printf("name: %s, age: %d\n", name, age); // 生成JSON數(shù)據(jù) json_t *new_root = json_object(); json_object_set_new(new_root, "name", json_string("Jerry")); json_object_set_new(new_root, "age", json_integer(25)); char *new_json_str = json_dumps(new_root, JSON_INDENT(4)); printf("%s\n", new_json_str); // 釋放內(nèi)存 json_decref(root); json_decref(new_root); free(new_json_str); return 0; }
以上代碼中,首先定義了一個JSON字符串,然后使用json_loads函數(shù)解析這個JSON字符串,得到一個JSON對象。接著使用json_object_get函數(shù)讀取這個JSON對象中的數(shù)據(jù)。最后使用json_object_set_new函數(shù)生成一個新的JSON對象,并使用json_dumps函數(shù)將其轉(zhuǎn)換成JSON字符串。
需要注意的是,在使用完JSON對象之后,需要使用json_decref函數(shù)來釋放其占用的內(nèi)存。
上一篇c 開發(fā)json
下一篇vue代碼編輯組件