在C語言中,將JSON數據轉換為結構體是常見的任務。這樣做可以方便地處理JSON數據,更容易地訪問其屬性。下面我們來看看如何將JSON數據轉換為C語言結構體。
{ "name":"Tom", "age":25, "gender":"male", "address": { "street": "123 Main St", "city":"New York", "state":"NY" } }
我們在C語言中創建一個結構體來表示上面的JSON數據:
typedef struct { char* name; int age; char* gender; struct Address { char* street; char* city; char* state; } address; } Person;
然后我們可以使用標準C庫中的JSON解析器庫來解析JSON數據并將其轉換為C語言結構體:
#include <json-c/json.h> ... // 解析JSON數據 struct json_object* jsonObj = json_tokener_parse(jsonDataString); // 轉換為結構體 Person person; person.name = json_object_get_string(json_object_object_get(jsonObj, "name")); person.age = json_object_get_int(json_object_object_get(jsonObj, "age")); person.gender = json_object_get_string(json_object_object_get(jsonObj, "gender")); //解析地址信息 struct json_object *addressObj = json_object_object_get(jsonObj, "address"); person.address.street = json_object_get_string(json_object_object_get(addressObj, "street")); person.address.city = json_object_get_string(json_object_object_get(addressObj, "city")); person.address.state = json_object_get_string(json_object_object_get(addressObj, "state"));
上面的代碼使用了標準C庫中的json-c庫,該庫提供了解析和操作JSON數據的函數。
上面的例子展示了如何將一個簡單的JSON對象轉換為C語言結構體。對于更復雜的JSON數據,我們可以使用類似的方法來將JSON數據轉換為嵌套的結構體。
上一篇vue 組件路由守衛
下一篇c#+json換行符寫法