jsonArray與 jsonObject區別與js取值

一、JSONObject和JSONArray的數據表示形式

JSONObject的數據是用 { ?} 來表示的,

? ? ? ? 例如: ? { "id" : "123", "courseID" : "huangt-test", "title" : "提交作業", "content" : null ?} ?

而JSONArray,顧名思義是由JSONObject構成的數組,用 ?[ { } , { } , ...... ?, { } ] ?來表示

? ? ? ?例如: ? [?{? "id" : "123",?"courseID" : "huangt-test",?"title" : "提交作業" } ?, ?{??"content" : null,?"beginTime" : 1398873600000? "endTime" } ] ;?

? ? ? ? 表示了包含2個JSONObject的JSONArray。

可以看到一個很明顯的區別,一個最外面用的是 { ?} ?,一個最外面用的是 [ ?] ?;

?

JavaScript解析JSON

**
解析json數組即對JSONArray的遍歷

一、對于標準的json數組如:

var result=[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}];
?

進行遍歷的時候,可以直接通過for循環遍歷這個數組,有兩種方法

1.  
for (var i = 0; i < result.length; i++) {//result[i]表示獲得第i個json對象即JSONObject//result[i]通過.字段名稱即可獲得指定字段的值
        result[i].userName;}

?

2.
for(var i in result){//表示遍歷數組,而i表示的是數組的下標值,//result[i]表示獲得第i個json對象即JSONObject//result[i]通過.字段名稱即可獲得指定字段的值
        result[i].userName;}

?

二、對于不標準的json數組如:

var result={"datas":[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}]};

?

進行遍歷之前得先解析出標準的json數組格式即[{},{}]

var data= result.datas;
1.
 for (var i = 0; i < data.length; i++) {//data[i]表示獲得第i個json對象即JSONObject//data[i]通過.字段名稱即可獲得指定字段的值
        data[i].userName;}

?

2.
 for(var i in data){//表示遍歷數組,而i表示的是數組的下標值,//data[i]表示獲得第i個json對象即JSONObject//data[i]通過.字段名稱即可獲得指定字段的值
        data[i].userName;}

**

注意點:eval()方法的作用

**
在JS中將JSON的字符串解析成JSON數據格式,一般有兩種方式:
1. 一種為使用eval()函數。
2. 使用Function對象來進行返回解析

轉載于:https://www.cnblogs.com/jokerjason/p/8118134.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453278.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453278.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453278.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計劃任務 at,cron

示例&#xff1a;每3小時echo和wall命令 轉載于:https://www.cnblogs.com/momenglin/p/8551618.html

代碼疑云

代碼疑云(1)-掌握初始化列表 代碼&#xff1a; [cpp] view plaincopy#include<iostream> using namespace std; class A { private: int x1; int x2; public: A():x2(1),x1(x2){} //初始化列表 void print() { cout<<"x1"<&…

網絡擁塞

擁塞&#xff08;Congestion&#xff09;指的是在包交換網絡中由于傳送的包數目太多&#xff0c;而存貯轉發節點的資源有限而造成網絡傳輸性能下降的情況。擁塞的一種極端情況是死鎖&#xff08;Deadlock&#xff09;&#xff0c;退出死鎖往往需要網絡復位操作。

android 多線程future,多線程FutureTask的使用方法和使用實例

FutureTask是一種可以取消的異步的計算任務。它的計算是通過Callable實現的&#xff0c;它等價于可以攜帶結果的Runnable&#xff0c;并且有三個狀態&#xff1a;等待、運行和完成。完成包括所有計算以任意的方式結束&#xff0c;包括正常結束、取消和異常。Future有個get方法而…

2017.12.26

轉載于:https://www.cnblogs.com/dyh-air/p/8118961.html

mac 下安裝pip

pip是常用的python包管理工具&#xff0c;類似于java的maven。用python的同學&#xff0c;都離不開pip。 在新mac中想用home-brew安裝pip時&#xff0c;遇到了一些小問題&#xff1a; bogon:~ wanglei$ brew install pip Error: No available formula with the name "pip&…

IT職場人生系列

IT職場人生系列之一&#xff1a;序言及找誰占卜 本文是IT職場人生系列的第一篇。 時間流逝&#xff0c;漸漸從之前在公司里邊的小弟變成大哥了&#xff0c;當年身邊比我大的程序員們都不見了&#xff0c;既沒有當領導也沒有去創業&#xff0c;就這么消失了。 年輕的程序員或…

RS-232協議

計算機與計算機或計算機與終端之間的數據傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低&#xff0c;特別是在遠程傳輸時&#xff0c;避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時&#xff0c;要求通訊雙方都采用一個標準接口&am…

linux sed 找出前后三行,Linux Sed 使用示例

環境&#xff1a;CentOS鑒于語句描述蒼白無力&#xff0c;用例子直接說明。mytxt文件內容&#xff1a;zilzhang 19881110 jiangxi 18 filmzhagnsan 21321 sichuan 100 cardlisi 3435 hunan 65 TV1. 找出文件第二行$ sed -n ‘2p‘ mytxtzhagnsan 21321 sichua…

MessageBox 彈框

模擬系統的消息提示框而實現的一套模態對話框組件&#xff0c;用于消息提示、確認消息和提交內容。 從場景上說&#xff0c;MessageBox 的作用是美化系統自帶的 alert、confirm 和 prompt&#xff0c;因此適合展示較為簡單的內容。如果需要彈出較為復雜的內容&#xff0c;請使用…

什么是同軸電纜

同軸電纜從用途上分可分為基帶同軸電纜和寬帶同軸電纜&#xff08;即網絡同軸電纜和視頻同軸電纜&#xff09;。同軸電纜分50Ω 基帶電纜和75Ω寬帶電纜兩類。基帶電纜又分細同軸電纜和粗同軸電纜。基帶電纜僅僅用于數字傳輸&#xff0c;數據率可達10Mbps。同軸電纜(Coaxial Ca…

android textview表情,Android開發(16)-TextView顯示表情圖像和文字

從這個案例中我們可以學到當我們美化圖片美化界面的時候可以在某一區域輸入圖片和文字混搭信息,第三張圖片按比例縮小&#xff0c;第四張圖像有超鏈接布局文件MainActivity.javapackage com.example.textview3;import java.lang.reflect.Field;import android.os.Bundle;import…

Rating

題目鏈接 題意&#xff1a; 起始狀態是&#xff08;0。0&#xff09;&#xff0c;每次轉移的時候都是對兩個數中的較小的數操作。1&#xff09;以概率p轉向&#xff08;min&#xff08;a 50&#xff0c;1000&#xff09;。b&#xff09; 2&#xff09;以概率1-p轉向&#x…

linux的apache2.4限定某個目錄禁止解析PHP及user_agent與PHP相關配置

限定某個目錄禁止解析PHP 對于使用PHP語言編寫的網站&#xff0c;有一些目錄是有需求上傳文件的&#xff0c;比如服務器可以上傳圖片&#xff0c;并且沒有做防盜鏈&#xff0c;所以就會被人家當成了一個圖片存儲服務器&#xff0c;并且盜用帶寬流量。如果網站代碼有漏洞&#x…

什么是光纜

光纜(optical fiber cable)是為了滿足光學、機械或環境的性能規范而制造的&#xff0c;它是利用置于包復護套中的一根或多根光纖作為傳輸媒質并可以單獨或成組使用的通信線纜組件。光纜主要是由光導纖維&#xff08;細如頭發的玻璃絲&#xff09;和塑料保護套管及塑料外皮構成&…

js調用android播放器,js調用android本地方法

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;昨天自己錄了一個android本地調用h5中js方法&#xff0c;可能是因為視頻比較耗費流量&#xff0c;結果看的人不是很多&#xff0c;所以決定還是先寫文章&#xff0…

linux之分區的水深(標準分區方式)

1.首先創建boot分區(200M即可) boot分區作為linux啟動相關信息的存儲介質&#xff0c;不論boot分區什么時候&#xff0c;它都會排在整個硬盤的起始段&#xff0c;方便系統啟動獲取相關信息&#xff0c;用戶盡量不去更改boot分區的掛載點順序。 2.接著創建swap分區&#xff08;應…

doxygen相關問題

doxygen相關問題 我主要的設置有 現在 wizard對話框中大體設置下,然后 export設置: project->DOXYFILE_ENCODINGGBK project->OUTPUT_LANGUAGEchinese input->INPUT_ENCODINGGBK Dot->HAVE_DOT Dot-> UML_LOOK Dot->CALL_GRAPH Dot->CALLER_GRAPH http…

前端之JavaScript 02

一、函數 // 最基礎的函數定義 function f1() {console.log(hello world!); } f1(); // hello world!// 帶參數的函數 function f2(name,age) {console.log("姓名 : " name " 年齡&#xff1a;" age); } f2("jassin",18); // 姓名 : jassi…

什么是雙絞線

雙絞線&#xff08;twisted pair&#xff0c;TP&#xff09;是一種綜合布線工程中最常用的傳輸介質&#xff0c;是由兩根具有絕緣保護層的銅導線組成的。把兩根絕緣的銅導線按一定密度互相絞在一起&#xff0c;每一根導線在傳輸中輻射出來的電波會被另一根線上發出的電波抵消&a…