js讀取和解析JSON資料的方法
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式,採用完全獨立於語言的文字格式,是理想的資料交換格式。同時,JSON是 JavaScript 原生格式,這表示在 JavaScript 中處理 JSON資料不須要任何特殊的 API 或工具包。
本文主要是對JS操作JSON做的總結。
在JSON中,有兩種結構:物件和陣列。
1. 一個物件以「{」(左括號)開始,「}」(右括號)結束。每個「名稱」後面跟著一個「:」(冒號);「『名稱/值』 對」之間運用 「,」(逗號)分隔。 名稱用引號括起來;值如果是字串則必須用括號,數值型則不須要。例如:
var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};
2. 陣列是值(value)的有序集合。一個陣列以「[」(左中括號)開始,「]」(右中括號)結束。值之間運用 “,”(逗號)分隔。
例如:
var jsonranklist = [ {"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}, {"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"} ];
為了方便處理JSON數據,JSON提供了json.js包,下載地址:http://www.json.org/json.js
在資料傳輸流程中,json是以文本,即字串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字串之間的相互轉換是關鍵。例如:
JSON字串:
var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man" };
一、JSON字串轉換為JSON物件
要運用上面的str1,必須運用下面的要領先轉化為JSON對象:
//由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')');
或
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然後,就可以這樣讀取:
Alert(obj.name); Alert(obj.sex);
特別留心:如果obj本來就是一個JSON對象,那麼運用eval()函數轉換後(即使是多次轉換)還是JSON對象,但是運用parseJSON()函數處理後會有疑問(拋出語法異常)。
二、可以運用 toJSONString()或全域要領 JSON.stringify()將JSON物件轉換為JSON字串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 alert(last);
資料群組
var str='[{"name":"cxh","sex":"man"},{"name":"cxh1","sex":"man1"}]'; var obj = str.parseJSON(); alert(obj[0].name)
注意:
上面的多個要領中,除了eval( )函數是js自帶的之外,其他的多個要領都來自json.js包。新版的JSON 修改了API,將JSON.stringify() 和JSON.parse() 兩個要領都注入到了Javascript 的內建物件裡面,前者變成了Object.toJSONString(),而後者變成了String. parseJSON()。如果提示找不到toJSONString()和parseJSON()要領,則表示您的json包版本太低。
以上就是js讀取和解析JSON資料的方法詳解,希望能幫助大家。
相關推薦:
#以上是js讀取和解析JSON資料的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Oracle錯誤3114詳解:如何快速解決,需要具體程式碼範例在Oracle資料庫開發與管理過程中,我們常常會遇到各種各樣的錯誤,其中錯誤3114是比較常見的一個問題。錯誤3114通常表示資料庫連線出現問題,可能是網路故障、資料庫服務停止、或連接字串設定不正確等原因導致的。本文將詳細解釋錯誤3114的產生原因,以及如何快速解決這個問題,並附上具體的程式碼

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

【PHP中點的意義和用法解析】在PHP中,中點(.)是常用的運算符,用來連接兩個字串或物件的屬性或方法。在本文中,我們將深入探討PHP中點的意義和用法,並透過具體的程式碼範例加以說明。 1.連接字串中點運算子.在PHP中最常見的用法是連接兩個字串。透過將.放置在兩個字串之間,可以將它們拼接在一起,形成一個新的字串。 $string1=&qu

Jackson庫中的註解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略屬性@JsonProperty:指定名稱@JsonGetter:使用獲取方法@JsonSetter:使用設定方法反序列化:@JsonIgnoreProperties:忽略屬性@ JsonProperty:指定名稱@JsonCreator:使用建構子@JsonDeserialize:自訂邏輯

Win11新功能解析:跳過登入微軟帳號的方法隨著Windows11的發布,許多用戶發現其帶來了更多的便利性和新功能。然而,有些用戶可能不喜歡將其係統與微軟帳戶綁定,希望跳過這一步驟。本文將介紹一些方法,幫助使用者在Windows11中跳過登入微軟帳戶,並實現更私密、更自主的使用體驗。首先,讓我們來了解為什麼有些用戶不願意登入微軟帳號。一方面,一些用戶擔心他們

由於篇幅限制,以下是一個簡短的文章:Apache2是常用的Web伺服器軟體,而PHP是廣泛使用的伺服器端腳本語言。在建置網站過程中,有時會遇到Apache2無法正確解析PHP檔案的問題,導致PHP程式碼無法執行。這種問題通常是因為Apache2沒有正確配置PHP模組,或是PHP模組與Apache2的版本不相容所導致的。解決這個問題的方法一般有兩種,一種是

簡介XML(可擴展標記語言)是一種用於儲存和傳輸資料的流行格式。在Java中解析XML是許多應用程式的必要任務,從資料交換到文件處理。為了有效地解析XML,開發人員可以使用各種Java函式庫。本文將比較一些最受歡迎的XML解析函式庫,重點放在它們的特性、功能和效能,以幫助開發人員做出明智的選擇。 DOM(文件物件模型)解析函式庫JavaXMLDOMAPI:由oracle提供的標準DOM實作。它提供了一個物件模型,允許開發人員存取和操作XML文件。 DocumentBuilderFactoryfactory=D

PHP陣列可透過json_encode()函數轉換為JSON字串(例如:$json=json_encode($array);),反之亦可用json_decode()函數從JSON轉換為陣列($array=json_decode($json);) 。其他技巧還包括:避免深度轉換、指定自訂選項以及使用第三方程式庫。
