先來介紹一下JSON是什么:JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于人讀、易于機器解析和生成。
那么在C語言中,我們如何來分析JSON格式的數據呢?下面是一個簡單的例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *json_str = "{\"name\":\"張三\",\"age\":20}"; json_error_t json_error; json_t* json = json_loads(json_str, 0, &json_error); if(!json) { printf("JSON格式錯誤:%s", json_error.text); return -1; } json_t* name = json_object_get(json, "name"); json_t* age = json_object_get(json, "age"); printf("姓名:%s\n", json_string_value(name)); printf("年齡:%d\n", json_integer_value(age)); json_decref(name); json_decref(age); json_decref(json); return 0; }
首先,我們需要先引入包含json相關的頭文件,在本例中,我們使用了jansson這個庫。
接著,定義一個json_str變量,里面存放了一個JSON字符串數據。這里的JSON數據包含了兩個屬性:name和age。
然后,使用json_loads函數將JSON字符串解析成為json_t類型的變量json。這里有一個json_error_t類型的變量json_error,用來捕捉解析出錯的情況。
接下來,我們使用json_object_get函數來獲取JSON對象的屬性值。在本例中,我們獲取了name和age。
最后,使用json_string_value和json_integer_value函數分別獲取字符串和整數類型的屬性值并打印出來。
注意,使用完畢后要記得釋放json對象的內存。
上一篇esxi與json
下一篇vue和vuex區別