在C語言中,使用json解析中文字符常常會遇到問題。下面介紹一個簡單的方法,可以用json-c庫的方法來解決這個問題。
json_object *obj = NULL; json_object *array_obj = NULL; json_object *name_obj = NULL; json_object *age_obj = NULL; const char *json = "{\"name\":\"張三\", \"age\":25}"; obj = json_tokener_parse(json); json_object_object_get_ex(obj, "name", &name_obj); json_object_object_get_ex(obj, "age", &age_obj); printf("姓名:%s,年齡:%d\n", json_object_get_string(name_obj), json_object_get_int(age_obj)); json_object_put(obj);
如上代碼所示,首先需要引入json-c庫。然后定義json_object指針obj和其它相關的指針,在字符串中添加json格式的數據。最后使用json_tokener_parse函數將其轉換成json對象。可以使用json_tokener_errors來輸出轉換錯誤信息。
使用json_object_object_get_ex函數將json對象中的值獲取到對應的指針中,然后可以像普通數據一樣輸出。
最后,不要忘記在使用完后釋放指針所占用的內存。建議在代碼結束后調用json_object_put函數來釋放。
上一篇delphi文本json
下一篇如何使嵌套的SVG居中?