色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Linux json-c使用

Linux json-c使用 時間:2018-08-16      來源:未知

一、JSON介紹

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易于人閱讀和編寫。同時也易于機器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數據交換語言。

JSON建構于兩種結構:

(1) “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。

(2)值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。

這些都是常見的數據結構。事實上大部分現代計算機語言都以某種形式支持它們。這使得一種數據格式在同樣基于這些結構的編程語言之間交換成為可能。

JSON具有以下這些形式:

對象是一個無序的“‘名稱/值’對”集合。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值’ 對”之間使用“,”(逗號)分隔。

數組是值(value)的有序集合。一個數組以“[”(左中括號)開始,“]”(右中括號)結束。值之間使用“,”(逗號)分隔。

值(value)可以是雙引號括起來的字符串(string)、數值(number)、true、false、 null、對象(object)或者數組(array)。這些結構可以嵌套。

字符串(string)是由雙引號包圍的任意數量Unicode字符的集合,使用反斜線轉義。一個字符(character)即一個單獨的字符串(character string)。

字符串(string)與C或者Java的字符串非常相似。

數值(number)也與C或者Java的數值非常相似。除去未曾使用的八進制與十六進制格式。除去一些編碼細節。

空白可以加入到任何符號之間。以下描述了完整的語言。

二、JSON對象結構

JSON結構共有2種:

(1)對象結構

(2)數組結構

JSON,簡單來說就是JavaScript中的對象或數組,所以這兩種結構就是對象和數組。通過這兩種結構就可以表示各種復雜的結構。

1、JSON對象結構

對象結構是使用大括號“{}”括起來的,大括號內是由0個或多個用英文逗號分隔的“關鍵字:值”對(key:value)構成的。

語法:

varjsonObj =

{

"鍵名1":值1,

"鍵名2":值2,

……

"鍵名n":值n

}

說明:

jsonObj指的是json對象。對象結構是以“{”開始,到“}”結束。其中“鍵名”和“值”之間用英文冒號構成對,兩個“鍵名:值”之間用英文逗號分隔。

注意,這里的鍵名是字符串,但是值可以是數值、字符串、對象、數組或邏輯true和false。

舉例:

<!DOCTYPE html>

<html xmlns="//www.w3.org/1999/xhtml">

<head>

<title></title>

<script type="text/javascript">

 varobj =

 {

 "name":"helicopter",

 "age":23,

//JSON對象內部也有一個JSON對象

 hobby:

{

 "first":"swimming",

"second":"singing",

"third":"dancing"

}

}

 //讀取JSON數據

document.write("名字是:"+obj.name+"<br>");

document.write("第一項愛好是:"+obj.hobby.first);

</script>

</head>

<body>

</body>

</html>

在瀏覽器預覽效果如下:

2、JSON對象結構

JSON數組結構是用中括號“[]”括起來,中括號內部由0個或多個以英文逗號“,”分隔的值列表組成。

語法:vararr =

[

{

"鍵名1":值1,

"鍵名2":值2

},

{

"鍵名3":值3,

"鍵名4":值4

},

……

]

說明:

arr指的是json數組。數組結構是以“[”開始,到“]”結束,這一點跟JSON對象不同。不過在JSON數組結構中,每一對“{}”相當于一個JSON對象,大家看看像不像?而且語法都非常類似。

注意,這里的鍵名是字符串,但是值可以是數值、字符串、對象、數組或邏輯true和false。

舉例:

<!DOCTYPE html>

<html xmlns="//www.w3.org/1999/xhtml">

<head>

<title></title>

<script type="text/javascript">

vararr =

[

{

"name":"小明",

"age":23,

"gender":"男"

},

{

"name":"小紅",

"age":21,

"gender":"女"

}

]

//讀取JSON數據

document.write("第一個學生的名字是:"+arr[0].name+"<br>");

document.write("第二個學生的性別是:"+arr[1].gender+"<br>");

</script>

</head>

<body>

</body>

</html>

在瀏覽器預覽效果如下:

三、普通字符串、JSON字符串和JSON對象

初學者經常有一個困惑,就是分不清普通字符串、JSON字符串和JSON對象。其實這3者是非常容易區分的。

1、普通字符串

字符串嘛,大家都知道是使用單引號或雙引號括起來的一串字符。

舉例:

varstr = "綠葉學習網json教程";

2、JSON對象

JSON對象我們在“JSON對象結構”這一節已經詳細為大家講解了。JSON對象,指的是符合JSON格式要求的JavaScript對象。

舉例:

varjsonObj = {"name":"helicopter","age":23,"gender":"男"};

3、JSON字符串

JSON字符串,指的是符合“JSON格式”的字符串。

JSON字符串要求兩點:

(1)必須是字符串,也就是要用單引號或雙引號括起來;

(2)必須符合“JSON”格式。

舉例:

varjsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';

JSON字符串說白了就是在JSON對象外面加一對單引號。

大家好好對比一下,就知道普通字符串、JSON對象和JSON字符串的區別了。

四、Linux JSON庫的安裝

1.下載json-c的源碼

JSON下載地址:https://github.com/json-c/json-c/wiki

2.解壓json-c的源碼包

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

3.配置json-c的源碼包

(1)在x86平臺配置

./configure --prefix=/usr

(2)在ARM平臺配置

./configure --prefix=安裝路徑 --host=交叉開發工具鏈前綴

例如安裝路徑為"/home/linux/json/install" 交叉開發工具鏈前綴為arm-none-linux-gnueabi-,則指定configuer參數如下:

./configure --prefix=/home/linux/json/install --host=arm-none-linux-gnueabi

4.編譯

make

5.安裝

make install

注意:

在x86平臺安裝的時候,由于我們指定的/usr目錄,普通用戶對于這個目錄是沒有寫權限的,所以在安裝的時候會提示"Permission denied",解決方法是以超級用戶身份執行。

五、Linux JSON庫的使用

注意:

在編譯的時候,會提示"/usr/include/json/json.h:27:34: fatal error: json_object_iterator.h: No such file or directory",原因是我們在JSON庫安裝的時候,沒有將json源碼下的" json_object_iterator.h"頭文件安裝到/usr/include/json目錄下,解決的方法很簡單,我們只需要將json源碼樹下的" json_object_iterator.h"拷貝到/usr/include/json目錄下就可以了。

上一篇:RTLinux的介紹

下一篇:Linux設備樹詳解

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 国内精品久久久| 日韩大胆人体377p| 国产成人精品av在线| 热久久免费视频精品| 欧美亚洲成人免费| 国产精品人人做人人爽| 国产乱人伦真实精品视频| 91深夜福利视频| 国产亚洲视频中文字幕视频| 日韩亚洲精品视频| 欧美日韩在线观看视频小说| 欧美一区第一页| 国产啪精品视频网站| 亚洲欧美制服中文字幕| 精品国产自在精品国产浪潮| 欧美国产日韩一区二区| 欧美在线一级va免费观看| 亚洲a中文字幕| xxxx欧美18另类的高清| 午夜精品一区二区三区视频免费看| 欧美在线欧美在线| 亚洲xxxx在线| 久热爱精品视频线路一| 国产mv久久久| 精品小视频在线| 欧美午夜精品久久久久久浪潮| 欧美电影在线观看高清| 国产日韩精品在线观看| 国产香蕉97碰碰久久人人| 欧美丰满老妇厨房牲生活| 国产成人综合精品| 在线观看日韩av| 欧美高清电影在线看| 国产精品日韩欧美大师| 永久免费精品影视网站| 68精品国产免费久久久久久婷婷| 亚洲一区二区三区四区在线播放| 欧美裸体xxxx极品少妇软件| 国产精品久久久久久久久借妻| 亚洲欧美在线看| 97在线免费观看|