C JSON教程
C JSON是一種基礎(chǔ)的數(shù)據(jù)格式,其被用于Web技術(shù)中,尤其是在Ajax中使用JSON取代XML。C JSON則是在C語(yǔ)言中對(duì)JSON進(jìn)行了支持。
C JSON是由JSON.org 提供的C語(yǔ)言JSON解析器,它能將JSON格式數(shù)據(jù)轉(zhuǎn)化為C數(shù)據(jù)類型。因此,C JSON是一個(gè)雙向的轉(zhuǎn)換器(序列化和反序列化),提供了使用C語(yǔ)言讀寫JSON數(shù)據(jù)的能力。
1. 安裝JSON解析器:
在項(xiàng)目目錄下下載JSON解析器,然后解壓 cd ./json-c-master ./configure make sudo make install
2. 使用JSON解析器的API:
#include <stdio.h> #include <json-c/json.h> int main(){ char *string = "{\"name\":\"David\",\"age\":18,\"gender\":\"male\"}"; struct json_object * person = json_tokener_parse(string); struct json_object * name = json_object_object_get(person, "name"); struct json_object * age = json_object_object_get(person, "age"); struct json_object * gender = json_object_object_get(person, "gender"); printf("Name : %s\n", json_object_get_string(name)); printf("Age : %d\n", json_object_get_int(age)); printf("Gender : %s\n", json_object_get_string(gender)); json_object_put(person); return 0; }
運(yùn)行結(jié)果:
Name : David Age : 18 Gender : male
通過(guò)以上簡(jiǎn)單的API調(diào)用,我們可以將JSON格式的字符串轉(zhuǎn)化為C語(yǔ)言處理的數(shù)據(jù)類型。
總結(jié):
C JSON提供了一種C語(yǔ)言解析JSON數(shù)據(jù)的能力,使得C語(yǔ)言可以更加方便地處理各種類型的數(shù)據(jù)。