C JSON字符串反序列化是一種將JSON字符串轉(zhuǎn)換為相應(yīng)數(shù)據(jù)結(jié)構(gòu)的過程,在C語言中我們通常使用json-c庫來進(jìn)行反序列化操作。
#include <stdio.h> #include <json-c/json.h> int main() { char* json_str = "{\"name\":\"Tom\",\"age\":22}"; json_object* jobj = json_tokener_parse(json_str); enum json_type type = json_object_get_type(jobj); if (type == json_type_object) { json_object_object_foreach(jobj, key, val) { printf("key: %s, value: %s\n", key, json_object_get_string(val)); } } json_object_put(jobj); return 0; }
以上代碼使用json_c庫將json_str字符串轉(zhuǎn)換為一個(gè)json_object對(duì)象,并遍歷對(duì)象的每一個(gè)屬性,輸出了每個(gè)屬性的鍵值對(duì)。
實(shí)際上,json_tokener_parse函數(shù)可以處理任意合法的JSON字符串,包括數(shù)組、嵌套對(duì)象、空值等等。
同時(shí),json-c庫還提供了很多其他的JSON序列化和反序列化api,可以實(shí)現(xiàn)更加高級(jí)的JSON操作。
上一篇python 提示不完整
下一篇vue canvas組件