C JSON是一個開源的C語言JSON解析器,具有很好的性能和穩(wěn)定性。在進(jìn)行JSON數(shù)據(jù)操作時(shí),C JSON可以把JSON字符串轉(zhuǎn)化為C語言結(jié)構(gòu)體,方便程序員進(jìn)行操作。下面介紹如何使用C JSON將JSON字符串轉(zhuǎn)化為C語言結(jié)構(gòu)體。
//先定義結(jié)構(gòu)體如下,與JSON字符串的鍵值對對應(yīng) typedef struct { char* name; int age; char* address; }Person; //JSON字符串 char* json_string = "{ \"name\":\"Tom\", \"age\":20, \"address\":\"Beijing\" }"; //首先解析JSON字符串 cJSON* json = cJSON_Parse(json_string); //將JSON結(jié)構(gòu)體中的鍵值對映射到C語言結(jié)構(gòu)體中,取出name鍵對應(yīng)的值 char* name = cJSON_GetObjectItem(json, "name")->valuestring; //取出age鍵對應(yīng)的值 int age = cJSON_GetObjectItem(json, "age")->valueint; //取出address鍵對應(yīng)的值 char* address = cJSON_GetObjectItem(json, "address")->valuestring; //將JSON結(jié)構(gòu)體中的數(shù)據(jù)存入C語言結(jié)構(gòu)體中 Person person = {name, age, address}; //釋放JSON結(jié)構(gòu)體 cJSON_Delete(json);
上述代碼中,在解析JSON字符串后,使用cJSON_GetObjectItem函數(shù)取出JSON結(jié)構(gòu)體中鍵所對應(yīng)的值,并存入C語言結(jié)構(gòu)體中。最后使用cJSON_Delete函數(shù)釋放已經(jīng)解析過的JSON結(jié)構(gòu)體。
上一篇python 文件瀏覽器
下一篇get 返回json