cJSON教程 02 簡單使用

2021-10-19 09:50:00 字數 3147 閱讀 8392

cjson * json =

cjson_createobject()

;//建立

cjson_delete

(json)

;//刪除

json的資料是以鍵值對的形式存在的,就這樣

不懂的話可以把key想象為變數名,value就是變數的值,使用時用key取出value。

cjson_add…toobject(cjson變數,charkey,…)

這是通用的格式。

(話說cjson長得好像map)

cjson_public

(cjson*

)cjson_addnulltoobject

(cjson *

const object,

const

char

*const name)

;cjson_public

(cjson*

)cjson_addtruetoobject

(cjson *

const object,

const

char

*const name)

;cjson_public

(cjson*

)cjson_addfalsetoobject

(cjson *

const object,

const

char

*const name)

;cjson_public

(cjson*

)cjson_addbooltoobject

(cjson *

const object,

const

char

*const name,

const cjson_bool boolean)

;cjson_public

(cjson*

)cjson_addnumbertoobject

(cjson *

const object,

const

char

*const name,

const

double number)

;cjson_public

(cjson*

)cjson_addstringtoobject

(cjson *

const object,

const

char

*const name,

const

char

*const string)

;cjson_public

(cjson*

)cjson_addrawtoobject

(cjson *

const object,

const

char

*const name,

const

char

*const raw)

;cjson_public

(cjson*

)cjson_addobjecttoobject

(cjson *

const object,

const

char

*const name)

;cjson_public

(cjson*

)cjson_addarraytoobject

(cjson *

const object,

const

char

*const name)

;

這是所有的對object新增的函式。

舉個例子:

cjson_addnumbertoobject

(json,

"pi"

,3.14);

cjson_addstringtoobject

(json,

"key"

,"value"

);

然後就要獲取值了。

cjson_get…value(cjson變數)

或cjson_getobjectitem(cjson變數,char*key)

cjson_public

(char*)

cjson_getstrin**alue

(const cjson *

const item)

;cjson_public

(double

)cjson_getnumbervalue

(const cjson *

const item)

;cjson_public

(cjson *

)cjson_getobjectitem

(const cjson *

const object,

const

char

*const string)

;

如上。

舉個例子:

cout <<

"pi:"

<<

cjson_getnumbervalue

(cjson_getobjectitem

(json,

"pi"

)<< endl;

cout <<

"key:"

<<

cjson_getstrin**alue

(cjson_getobjectitem

(json,

"key"

)<< endl;

emm…大家可能不明白,我來講講。

首先,json裡有兩個鍵值對,我們用cjson_getobjectitem()取出其中乙個,返回乙個cjson,然後cjson_getnumbervalue()(或cjson_getstrin**alue())將cjson結構裡的值取出來。

也就是說當時他們內部應該是這樣:

//表面上的乙個

struct json

//暗地裡的兩個

struct a

struct b

大概是這樣

HGE 教程02 簡單的遊戲背景

使用 texture load 路徑和字尾,這裡是相對目錄 根據路徑載入 hgesprite類 hgesprite tex,的顯示起始位置x,起始位置y,寬,高 初始化精靈spr,並且指定tex為它的紋理 教程 如下 haaf s game engine 1.8 教程2 include hge.h ...

cJson使用方法

我使用的是cjson 先看json的資料結構 c中沒有物件,所以json資料是採用鍊錶儲存的typedef struct cjson cjson 比如你有乙個json資料 那麼你可以 1 講字串解析成json結構體。cjson root cjson parse my json string 2 獲取...

cJSON 使用記錄 封裝

由於網上大多都是cjson解析的,但是封裝的卻很少,所以這裡將我的封裝方法記錄下來。cjson是輕量級的庫,僅有乙個cjson.h和乙個cjson.cpp,使用時候直接匯入就行,倆字兒,方便!基本函式主要有 常用的打 cjson cjson createobject void void cjson ...