在C語言中,要遍歷一個Json文件中的一個字符串,可以使用Json-c庫中的json_tokener_parse函數將Json文件解析成Json對象,再通過json_object_object_get_ex函數獲取對象中的字符串,最后使用json_object_get_string函數獲取字符串值。
#include <json-c/json.h>
int main() {
char *json_str = "{\"name\":\"小明\",\"age\":18,\"hobbies\":[\"籃球\",\"游泳\",\"看書\"]}";
//解析Json文件,轉為Json對象
json_object *json_obj = json_tokener_parse(json_str);
//通過對象名獲取Json對象
json_object *name_obj = NULL;
if (json_object_object_get_ex(json_obj, "name", &name_obj)) {
//獲取字符串值
const char *name = json_object_get_string(name_obj);
printf("姓名:%s\n", name);
}
//釋放Json對象內存
json_object_put(json_obj);
return 0;
}
上述代碼中,先通過json_tokener_parse函數將json_str解析成Json對象,再通過json_object_object_get_ex函數獲取對象中的名為"name"的Json對象name_obj,最后使用json_object_get_string函數獲取字符串值并輸出。
雖然Json-c庫的操作比較簡單,但建議使用第三方庫比如jansson等庫來解析Json文件,因為這些庫性能更好、 API更方便、擴展性更強。