JSON是一種輕量級數據交換格式,C語言對于JSON的處理可以使用各種JSON庫。在將JSON數據轉換成類的時候,我們可以使用一些開源的JSON庫,如cJSON庫。
cJSON *root = cJSON_Parse(jsonStr); //解析JSON字符串,得到根節點 if (root) { cJSON *name = cJSON_GetObjectItem(root, "name"); //獲取"Name"對應的JSON節點 cJSON *age = cJSON_GetObjectItem(root, "age"); //獲取"Age"對應的JSON節點 cJSON *score = cJSON_GetObjectItem(root, "score"); //獲取"Score"對應的JSON節點 if (name && age && score) { char *nameStr = cJSON_GetStringValue(name); //獲取姓名字符串 int ageInt = age->valueint; //獲取年齡整型值 double scoreDouble = score->valuedouble; //獲取分數浮點數值 //創建一個類實例,并傳遞解析出來的數據 Student *stu = new Student(nameStr, ageInt, scoreDouble); } cJSON_Delete(root); //釋放JSON節點和結構體內存 }
以上就是一個簡單的通過cJSON庫將JSON數據轉換成類的流程。需要注意的是,解析JSON字符串得到的是一個cJSON類型的指針,我們可以通過函數cJSON_GetObjectItem來獲取JSON節點,并通過cJSON_GetxxxValue函數來獲取節點的值。
上一篇python 計算召回率
下一篇python 文件定位行