JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于AJAX與后端的數(shù)據(jù)交互。在C語(yǔ)言中,讀取JSON數(shù)據(jù)類型相對(duì)復(fù)雜,但是可以借助第三方庫(kù)libjson進(jìn)行處理。下面我們來(lái)一步一步實(shí)現(xiàn)如何讀取JSON數(shù)據(jù)類型。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <json/json.h> int main() { char *json_string = "{ \"name\":\"張三\", \"age\":18 }"; json_object *json_data = json_tokener_parse(json_string); json_object *json_name, *json_age; json_object_object_get_ex(json_data, "name", &json_name); json_object_object_get_ex(json_data, "age", &json_age); printf("name: %s, age: %d\n", json_object_get_string(json_name), json_object_get_int(json_age)); json_object_put(json_data); return 0; }
首先需要在代碼中引入json.h頭文件,并且下載和安裝libjson第三方庫(kù)。然后設(shè)置一個(gè)字符串類型的JSON數(shù)據(jù)變量,傳入一個(gè)包含"name"和"age"鍵值對(duì)的JSON數(shù)據(jù)。接著將這個(gè)JSON數(shù)據(jù)傳入json_tokener_parse這個(gè)函數(shù)中進(jìn)行解析,返回一個(gè)json_object類型的數(shù)據(jù)。在這個(gè)json_object對(duì)象中,我們可以使用json_object_object_get_ex()函數(shù)按鍵名獲取鍵值。最后使用get_string和get_int函數(shù)獲取對(duì)應(yīng)的值并輸出。最后需要使用json_object_put()釋放這個(gè)json_object對(duì)象。
在本例中,我們使用了一個(gè)簡(jiǎn)單的JSON數(shù)據(jù)類型進(jìn)行演示,但對(duì)于更為復(fù)雜的JSON數(shù)據(jù)類型,我們同樣可以使用類似的方法進(jìn)行讀取。希望這篇文章可以給大家在使用C語(yǔ)言讀取JSON數(shù)據(jù)類型的過(guò)程中提供幫助。