国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Linux C中對(duì)json格式數(shù)組數(shù)據(jù)的生成與解析

Linux C中對(duì)json格式數(shù)組數(shù)據(jù)的生成與解析 時(shí)間:2018-08-15      來(lái)源:未知

在網(wǎng)絡(luò)通信中,數(shù)據(jù)經(jīng)常被做成json格式的來(lái)進(jìn)行傳輸。那么我們?cè)趺丛趌inux系統(tǒng)中去做json格式的數(shù)據(jù)呢?怎么將接收到的json格式的數(shù)據(jù)解析出來(lái)呢?

1、linux json庫(kù)的安裝

(1)下載json-c源碼包

(2)解壓json-c的源碼包

Tar -xvf json-c-0.10.tar.gz

(3)配置成X86平臺(tái)json包

./configure --prefix=/usr

(4)編譯 

Make

(5)安裝

Sudo make install

2、json庫(kù)中常用的函數(shù)接口

----------------生成json格式的數(shù)據(jù)常用函數(shù)接口-----------------

(1)創(chuàng)建一個(gè)空的json對(duì)象

Struct json_object *obj = json_object_new_object();

(2)以key-value的形式添加json對(duì)象的成員

Value值是int類型:key值是“temp”,value值是20

json_object_object_add(obj,temp”,json_object_new_int(20));

Value值是string類型:key值是“name”,value值是”mm”

json_object_object_add(obj,name”,json_object_new_string(“mm”));

(3)將json對(duì)象內(nèi)容,轉(zhuǎn)成json格式的字符串

Unsigned char *json_string = json_object_to_json_string(obj);

--------------解析json格式的數(shù)據(jù)常用函數(shù)接口------------------

(1)將json格式的字符串轉(zhuǎn)成json對(duì)象

Struct json_object new_obj = json_tokener_parse(json_string);

(2)根據(jù)指定對(duì)象的成員名,獲取這個(gè)成員對(duì)象的json對(duì)象

Struct json_object *object = json_object_object_get(new_object);

(3)根據(jù)key值取得相應(yīng)的value值

Value值為int:

Json_object_get_int(object);

Value值為string:

Json_object_get_string(object);

3、對(duì)于比較簡(jiǎn)單的json格式的數(shù)據(jù),我們用到上面的函數(shù)接口就可以完成json格式數(shù)據(jù)的制作和解析。

4、假如碰到比較復(fù)雜的json數(shù)組格式的數(shù)據(jù),我們又該怎么去制作和解析呢?

示例說(shuō)明:{ 

"jporder": 

[

 { "jdevice": 1, "jppaynum": 1 },

 { "jdevice": 2, "jppaynum": 2 } 

}

分析該數(shù)據(jù)的組成:

1、key值為”jporder”,與其相對(duì)應(yīng)的value值是一個(gè)數(shù)組[ { "jdevice": 1, "jppaynum": 1 }, { "jdevice": 2, "jppaynum": 2 } ]

2、數(shù)組的每個(gè)成員都是兩對(duì)json對(duì)象

數(shù)組成員1:{ "jdevice": 1, "jppaynum": 1 }

數(shù)組成員2:{ "jdevice": 2, "jppaynum": 2 } 

3、每個(gè)json對(duì)象都是由key_value組成

具體的數(shù)據(jù)生成和解析方法如下:

數(shù)據(jù)生成部分:

json 數(shù)組

數(shù)據(jù)解析部分:

json 數(shù)組

運(yùn)行結(jié)果如下:

json 數(shù)組

上一篇:兩道面試題所引發(fā)的C指針的思考

下一篇:孤兒進(jìn)程和僵尸進(jìn)程

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部