javascript
JSON数据与JavaScript对象转换
使用JSON時,最基本的工作就是JSON數(shù)據(jù)與JavaScript對象之間的互相轉(zhuǎn)換。如瀏覽器
從服務(wù)器端獲得JSON數(shù)據(jù),然后轉(zhuǎn)換為JavaScript對象在網(wǎng)頁輸出。
SON: JavaScript Object Notation,JSON數(shù)據(jù)格式語法就是JavaScript創(chuàng)建對象的代碼語法,所以可以使用JavaScript內(nèi)建的eval()函數(shù)直接將JSON數(shù)據(jù)轉(zhuǎn)換為JavaScript對象。如下:
1. JSON數(shù)據(jù)示例
{"employees": [{"firstName": "John","lastName": "Doe"},{"firstName": "Anna","lastName": "Smith"},{"firstName": "Peter","lastName": "Jones"}] }2.?JSON數(shù)據(jù)轉(zhuǎn)換為JavaScript對象
var txt = '{ "employees" : [' + '{ "firstName":"John" , "lastName":"Doe" },' + '{ "firstName":"Anna" , "lastName":"Smith" },' + '{ "firstName":"Peter" , "lastName":"Jones" } ]}';var obj = eval ("(" + txt + ")");console.log(obj.employees[1].firstName);使用eval()函數(shù)時,必須為傳入的JSON數(shù)據(jù)參數(shù)添加括號'()',否則會報語法錯誤。但eval()的問題在于,除了可以解析JSON數(shù)據(jù),也可 以用于執(zhí)行JavaScript腳本片段,這就會帶來潛在的安全問題。JSON提供了專門的JSON Parser來實現(xiàn)只用于解析JSON數(shù)據(jù),不會執(zhí)行scripts腳本,而且速度更快。如下:
obj = JSON.parse(txt);在現(xiàn)在的瀏覽器中,如IE8, Firefox3.5, Chrome等以上版本,都提供了原生JSON解析器的支持,而且也是ECMAScript (JavaScript)的最新標準。因此,JSON Parser可以在JavaScript代碼中是直接調(diào)用。
3.?JavaScript對象轉(zhuǎn)換為JSON數(shù)據(jù)
var txt = JSON.stringify(obj);使用JSON.strigify()函數(shù),將Javascript對象轉(zhuǎn)換為JSON文本數(shù)據(jù)。
4. JSON數(shù)據(jù)轉(zhuǎn)換示例
轉(zhuǎn)載于:https://www.cnblogs.com/longshiyVip/p/4946411.html
總結(jié)
以上是生活随笔為你收集整理的JSON数据与JavaScript对象转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 550 Ip frequency lim
- 下一篇: gradle idea java ssm