欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json 遍歷屬性

張吉惟2年前8瀏覽0評論

JSON是一種常見的數(shù)據(jù)存儲格式,而C作為一種高性能的編程語言,具有快速讀寫JSON數(shù)據(jù)的能力。當(dāng)我們讀取JSON數(shù)據(jù)時,需要遍歷其屬性,以便我們能夠獲取所需的數(shù)據(jù)。

在C語言中,我們可以使用 cJSON 庫來處理JSON數(shù)據(jù)。這個庫提供了很多API來遍歷JSON數(shù)據(jù)的屬性。

// 假設(shè)我們有如下JSON數(shù)據(jù)
{
"name": "Tom",
"age": 18,
"email": "tom@example.com",
"phone": {
"home": "111-111-1111",
"work": "222-222-2222"
},
"hobbies": ["reading", "swimming"]
}
// 讀取JSON數(shù)據(jù)
char* data = "{\"name\":\"Tom\",\"age\":18,\"email\":\"tom@example.com\",\"phone\":{\"home\":\"111-111-1111\",\"work\":\"222-222-2222\"},\"hobbies\":[\"reading\",\"swimming\"]}";
cJSON* root = cJSON_Parse(data);
// 遍歷JSON數(shù)據(jù)屬性
cJSON* name = cJSON_GetObjectItem(root, "name");
printf("Name: %s\n", name->valuestring); // 輸出 Name: Tom
cJSON* age = cJSON_GetObjectItem(root, "age");
printf("Age: %d\n", age->valueint); // 輸出 Age: 18
cJSON* email = cJSON_GetObjectItem(root, "email");
printf("Email: %s\n", email->valuestring); // 輸出 Email: tom@example.com
cJSON* phone = cJSON_GetObjectItem(root, "phone");
cJSON* home = cJSON_GetObjectItem(phone, "home");
printf("Home Phone: %s\n", home->valuestring); // 輸出 Home Phone: 111-111-1111
cJSON* work = cJSON_GetObjectItem(phone, "work");
printf("Work Phone: %s\n", work->valuestring); // 輸出 Work Phone: 222-222-2222
cJSON* hobbies = cJSON_GetObjectItem(root, "hobbies");
cJSON* hobby = NULL;
cJSON_ArrayForEach(hobby, hobbies){
printf("Hobby: %s\n", hobby->valuestring); // 輸出 Hobby: reading 和 Hobby: swimming
}
// 釋放JSON數(shù)據(jù)
cJSON_Delete(root);

以上代碼演示了如何遍歷JSON數(shù)據(jù)的屬性。請注意,cJSON 庫可用的函數(shù)非常豐富,允許我們使用快速,靈活且可靠的方式讀寫JSON數(shù)據(jù)。