在C語言中操作JSON數(shù)據(jù)非常常見,因?yàn)镴SON格式是一種常見的數(shù)據(jù)交換格式。下面就來介紹C語言中怎么操作JSON數(shù)據(jù)。
首先需要使用一個可用于操作JSON數(shù)據(jù)的C語言庫,例如:jansson和cJSON。這里以jansson作為例子來講解。
1. 創(chuàng)建JSON對象
json_t* root; root = json_object();
2. 向JSON對象中添加成員
json_object_set_new(root, "name", json_string("john"));
3. 獲取JSON對象中的成員
json_t* name; name = json_object_get(root, "name");
4. 判斷JSON對象中是否存在某個成員
if(json_object_get(root, "age") == NULL) { /* 成員不存在 */ }
5. 遍歷JSON對象中的成員
const char* key; json_t* value; json_object_foreach(root, key, value) { printf("%s: %s\n", key, json_string_value(value)); }
6. 轉(zhuǎn)換C語言數(shù)據(jù)類型到JSON數(shù)據(jù)類型
json_t* array = json_array(); json_t* object = json_object(); json_array_append_new(array, json_integer(1)); json_object_set_new(object, "name", json_string("john"));
7. 轉(zhuǎn)換JSON數(shù)據(jù)類型到C語言數(shù)據(jù)類型
char* json_string = "{\"name\":\"john\",\"age\":20}"; json_t* root = json_loads(json_string, 0, NULL); const char* name; int age; json_unpack(root, "{s:s,s:i}", "name", &name, "age", &age);
以上就是C語言中操作JSON數(shù)據(jù)的常見方法和技巧,希望對大家有所幫助。