如果你使用C語(yǔ)言,想要將一個(gè)對(duì)象JSON字符串?dāng)?shù)組,那么可以使用以下代碼:
#include <stdio.h>#include <string.h>#include <jansson.h>int main() { // JSON字符串?dāng)?shù)組 const char* json_str = "[{\"name\":\"Tom\", \"age\":25, \"gender\":\"male\"}, {\"name\":\"Lucy\", \"age\":24, \"gender\":\"female\"}, {\"name\":\"Jack\", \"age\":30, \"gender\":\"male\"}]"; // 解析JSON字符串?dāng)?shù)組 json_t* root; json_error_t error; root = json_loads(json_str, 0, &error); // 遍歷對(duì)象數(shù)組 size_t index; json_t* value; json_array_foreach(root, index, value) { if (json_is_object(value)) { // 獲取對(duì)象中的字段值 json_t* name = json_object_get(value, "name"); json_t* age = json_object_get(value, "age"); json_t* gender = json_object_get(value, "gender"); // 打印字段值 printf("name: %s\n", json_string_value(name)); printf("age: %d\n", json_integer_value(age)); printf("gender: %s\n", json_string_value(gender)); } } // 釋放內(nèi)存 json_decref(root); return 0; }
首先,需要引入json頭文件,同時(shí)需要安裝json-c庫(kù)來實(shí)現(xiàn)。
其次,將需要解析的JSON字符串?dāng)?shù)組賦值給const char型的變量json_str。
然后,可以使用json_loads()函數(shù)將JSON字符串?dāng)?shù)組解析成json_t類型的對(duì)象。
接下來,通過json_array_foreach()函數(shù)遍歷JSON數(shù)組中的每一個(gè)對(duì)象,然后使用json_object_get()函數(shù)獲取對(duì)象中的字段值。
最后,通過json_string_value()和json_integer_value()函數(shù)分別獲取字段值的字符串和整數(shù)值,然后將它們打印出來即可。