先學(xué)習(xí)阮大神的 數(shù)據(jù)類型和Json格式
一、
js中解析JSON的方式
eval()
JSON.parse
var jsondata = "{"staff":[{"name":"小紅","age":16},{"name":"小明","age":20},{"name":"小芳","age":18}]}" var jsonobj = eval("(" + jsondata + ")") alert( jsonobj.staff[0].name);
var jsondata = "{"staff":[{"name":"小紅","age":16},{"name":"小明","age":20},{"name":"小芳","age":18}]}" var jsonobj = JSON.parse(jsondata); alert( jsonobj.staff[0].name);
兩種效果其實(shí)是一樣的,但是我們用第二種,因?yàn)閑val()不但解析JSON字符串還會(huì)執(zhí)行字符串中的js方法
ps:實(shí)際中盡量不要用eval()
二、
在線JSON校驗(yàn)工具 http://jsonlint.com/
三、
{
"success":true, "msg":"xxx", "data":"xxx"
}
success:邏輯是否成功的標(biāo)記(如:ajax請(qǐng)求過(guò)程中,請(qǐng)求是否成功的標(biāo)記),msg:"xxx"(如:msg作為請(qǐng)求返回值),errormsg:success為false時(shí)的錯(cuò)誤信息,data:請(qǐng)求返回的數(shù)據(jù)。
四、demo.html中解析json,并將相關(guān)信息顯示在頁(yè)面上。
if(request.status===200){ var data=JSON.parse(request.responseText); if(data.success){ document.getElementById("searchResult").innerHTML=data.msg; }else{ document.getElementById("searchResult").innerHTML="出現(xiàn)錯(cuò)誤:"+data.msg; } }else{ alert("發(fā)生錯(cuò)誤"+request.status); }
PHP中
JSON 數(shù)據(jù)格式和 Serialize 數(shù)據(jù)格式的異同和使用
相同點(diǎn):
1、都是把其他數(shù)據(jù)類型轉(zhuǎn)換成一個(gè)可以傳輸?shù)淖址ǔ速Y源類型) 2、都是結(jié)構(gòu)性數(shù)據(jù)
異同點(diǎn):
1、Serialize 序列化后的數(shù)據(jù)格式保存數(shù)據(jù)原有類型 2、JSON 數(shù)據(jù)格式要簡(jiǎn)潔,相比Serialize 序列化之后的數(shù)據(jù)格式
使用場(chǎng)景:
1、JSON 適合數(shù)據(jù)量大,不要求保留原有類型的情況 2、Serialize 適合存儲(chǔ)帶有加密方式的數(shù)據(jù)串,防止數(shù)據(jù)被中途截取,反序列化破解
參考
Ajax全接觸
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/82585.html
摘要:簡(jiǎn)介是用于結(jié)構(gòu)化數(shù)據(jù)序列化的一種文本格式,包含種基礎(chǔ)類型字符串,數(shù)字,布爾和和兩種結(jié)構(gòu)類型對(duì)象和數(shù)組。對(duì)象是一個(gè)由零或者多個(gè)名值對(duì)組成的無(wú)序集合,其中名值對(duì)中名是字符串類型,值則可以是字符串,數(shù)字,布爾,,對(duì)象或數(shù)組類型。 Json JavaScript Object Notation (JSON)是一個(gè)輕量級(jí)的,基于文本的,跨語(yǔ)言的數(shù)據(jù)交換格式。它從ECMAScript編程語(yǔ)言標(biāo)準(zhǔn)(...
摘要:基于對(duì)象字面量,但是獨(dú)立于任何編程語(yǔ)言,真正重要的是表示法本身,所以在學(xué)習(xí)之前不必先學(xué)習(xí)。鍵必須是字符串,值可以是合法的數(shù)據(jù)類型字符串?dāng)?shù)字對(duì)象數(shù)組布爾值或。布爾類型中的布爾值僅可使用小寫形式或,其他任何寫法都會(huì)報(bào)錯(cuò)。 什么是JSON JSON全稱是Javascript Object Notation(對(duì)象表示法),是一種在不同平臺(tái)間傳遞數(shù)據(jù)的文本格式(數(shù)據(jù)交換格式)。常見的數(shù)據(jù)交換格式...
摘要:基于對(duì)象字面量,但是獨(dú)立于任何編程語(yǔ)言,真正重要的是表示法本身,所以在學(xué)習(xí)之前不必先學(xué)習(xí)。鍵必須是字符串,值可以是合法的數(shù)據(jù)類型字符串?dāng)?shù)字對(duì)象數(shù)組布爾值或。布爾類型中的布爾值僅可使用小寫形式或,其他任何寫法都會(huì)報(bào)錯(cuò)。 什么是JSON JSON全稱是Javascript Object Notation(對(duì)象表示法),是一種在不同平臺(tái)間傳遞數(shù)據(jù)的文本格式(數(shù)據(jù)交換格式)。常見的數(shù)據(jù)交換格式...
摘要:一什么是為什么使用是機(jī)制的一種替代方案。這種情況下使用就會(huì)有更加方便。的數(shù)據(jù)結(jié)構(gòu)一般為三部分組成頭部一般包含簽名的算法和令牌的屬性負(fù)載實(shí)際需要傳遞的數(shù)據(jù)一般不加密,因此不要把重要信息放在里面簽名部分是對(duì)前兩部分的簽名,防止數(shù)據(jù)篡改。 一、什么是JSON Web Token? 1、為什么使用JSON Web Token JSON Web Token是cookie session機(jī)制的一種...
閱讀 2875·2021-11-22 14:45
閱讀 3029·2021-09-10 11:26
閱讀 3400·2021-09-07 10:18
閱讀 2286·2019-08-30 14:08
閱讀 700·2019-08-29 12:22
閱讀 1452·2019-08-26 13:48
閱讀 2699·2019-08-26 10:24
閱讀 1225·2019-08-23 18:35