在使用C語(yǔ)言解析JSON數(shù)據(jù)時(shí),獲取其中的listview是一項(xiàng)常見(jiàn)的任務(wù)。下面我們就來(lái)介紹一下如何使用C語(yǔ)言獲取JSON中的listview。
// 解析JSON數(shù)據(jù) cJSON *root = cJSON_Parse(jsonStr); // 進(jìn)入到listview節(jié)點(diǎn) cJSON *listview = cJSON_GetObjectItem(root, "listview"); // 解析并輸出listview中的數(shù)據(jù) cJSON *item = NULL; cJSON_ArrayForEach(item, listview) { // 獲取name節(jié)點(diǎn)的值 cJSON *name = cJSON_GetObjectItem(item, "name"); printf("名稱:%s\n", name->valuestring); // 獲取desc節(jié)點(diǎn)的值 cJSON *desc = cJSON_GetObjectItem(item, "desc"); printf("描述:%s\n", desc->valuestring); // 獲取price節(jié)點(diǎn)的值 cJSON *price = cJSON_GetObjectItem(item, "price"); printf("價(jià)格:%s\n", price->valuestring); printf("--------\n"); }
如上所示的代碼,我們首先使用cJSON_Parse()函數(shù)將JSON字符串解析為cJSON對(duì)象。然后使用cJSON_GetObjectItem()函數(shù)獲取到listview節(jié)點(diǎn),并通過(guò)cJSON_ArrayForEach()函數(shù)遍歷listview節(jié)點(diǎn)中的每一個(gè)元素。
在遍歷過(guò)程中,我們可以使用cJSON_GetObjectItem()函數(shù)獲取每一個(gè)元素中的name、desc和price節(jié)點(diǎn)的值,并將其輸出到控制臺(tái)。
最后,我們通過(guò)在該代碼塊前后添加
標(biāo)簽,將其標(biāo)記為代碼塊,使其更加易讀。