欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:json-c使用學(xué)習(xí)

柚子快報(bào)邀請(qǐng)碼778899分享:json-c使用學(xué)習(xí)

http://yzkb.51969.com/

介紹

JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫(xiě),可以在多種語(yǔ)言之間進(jìn)行數(shù)據(jù)交換 [5]? 。同時(shí)也易于機(jī)器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。

JSON是一個(gè)序列化的對(duì)象或數(shù)組。

JSON的構(gòu)造元素有:

1. 六個(gè)構(gòu)造字符:

begin-array = ?[? ? ? ? ? ? ? 數(shù)組開(kāi)始符 = 左方括號(hào)

begin-object = {? ? ? ? ? ? ?對(duì)象開(kāi)始符 = 左大括號(hào)

end-array = ]? ? ? ? ? ? ? ? ?數(shù)組結(jié)束符 = 右方括號(hào)

end-object = }? ? ? ? ? ? ? ? 對(duì)象結(jié)束符 = 右大括號(hào)

name-separator = :? ? ? ? 鍵名分隔符 = 冒號(hào)

value-separator = ,? ? ? ? 值分割符 = 逗號(hào)

2. 在這六個(gè)構(gòu)造字符的前或后允許存在無(wú)意義的空白符:

空格,水平標(biāo)簽,換行或換行,回程

3.JSON的值:

3.1 JSON的構(gòu)成: 值

值可以是對(duì)象、數(shù)組、數(shù)字、字符串或者三個(gè)字面值(false、null、true)中的一個(gè)。值中的字面值中的英文必須使用小寫(xiě)。

對(duì)象由花括號(hào)括起來(lái)的逗號(hào)分割的成員構(gòu)成,成員是字符串鍵和上文所述的值由逗號(hào)分割的鍵值對(duì)組成,如:

{"name":?"John?Doe",?"age":?18,?"address":?{"country"?:?"china",?"zip-code":?"10000"}}

JSON中的對(duì)象可以包含多個(gè)鍵值對(duì),并且有數(shù)組結(jié)構(gòu),該語(yǔ)言正是一次實(shí)現(xiàn)過(guò)程內(nèi)容的描述。

數(shù)組是由方括號(hào)括起來(lái)的一組值構(gòu)成,如:

[3,?1,?4,?1,?5,?9,?2,?6]

字符串與C或者Java的字符串非常相似。字符串是由雙引號(hào)包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個(gè)字符(character)即一個(gè)單獨(dú)的字符串(character?string)。

數(shù)字也與C或者Java的數(shù)值非常相似。除去未曾使用的八進(jìn)制與十六進(jìn)制格式。除去一些編碼細(xì)節(jié)。?

json-c開(kāi)源庫(kù)的使用

下載json-c開(kāi)源庫(kù)并編譯

$ git clone https://github.com/json-c/json-c.git

$ mkdir json-c-build

$ cd json-c-build

$ cmake ../json-c

$ make

$ make test

$ make USE_VALGRIND=0 test

$ sudo make install

使用頭文件和編譯好的庫(kù)完成測(cè)試程序:

test.c內(nèi)容如下:

#include

#include "json.h"

int main(void)

{

size_t length;

struct json_object *obj;

struct json_object *name_obj;

/* 創(chuàng)建一個(gè) json 對(duì)象 */

obj = json_object_new_object();

/* 給 json 對(duì)象 添加內(nèi)容 */

json_object_object_add(obj, "name", json_object_new_string("jack"));

/* 將 json 對(duì)象 轉(zhuǎn)成 字符串 并且 保存 獲取 字符串長(zhǎng)度 */

const char* buf = json_object_to_json_string_length(obj, 0, &length);

printf("%s\n", buf);

printf("length = %ld\n", length);

/* 解析json */

obj = json_tokener_parse(buf);

name_obj = json_object_object_get(obj, "name");

printf("name: %s\n", json_object_get_string(name_obj));

return 0;

}

Makefile內(nèi)容如下:

test:

gcc -g test.c -o test -ljson-c -L. -I.

clean:

rm -rf test

編譯執(zhí)行如下:

$ make

gcc -g test.c -o test -ljson-c -L. -I.

$ ./test

{"name":"jack"}

length = 15

name: jack

柚子快報(bào)邀請(qǐng)碼778899分享:json-c使用學(xué)習(xí)

http://yzkb.51969.com/

相關(guān)鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18797661.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄