最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:23:09
文檔

json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json

json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json:現(xiàn)在越來越多的項(xiàng)目和開發(fā)插件等默認(rèn)都會支持和使用json數(shù)據(jù)格式,作為數(shù)據(jù)保持、傳輸?shù)囊环N方式。 說是其中一種,就標(biāo)示還有好多其他格式。比如:最多是xml。webservice的標(biāo)準(zhǔn)數(shù)據(jù)格式。 不過由于json是JavaScript 對象表示法(JavaScript Obj
推薦度:
導(dǎo)讀json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json:現(xiàn)在越來越多的項(xiàng)目和開發(fā)插件等默認(rèn)都會支持和使用json數(shù)據(jù)格式,作為數(shù)據(jù)保持、傳輸?shù)囊环N方式。 說是其中一種,就標(biāo)示還有好多其他格式。比如:最多是xml。webservice的標(biāo)準(zhǔn)數(shù)據(jù)格式。 不過由于json是JavaScript 對象表示法(JavaScript Obj

現(xiàn)在越來越多的項(xiàng)目和開發(fā)插件等默認(rèn)都會支持和使用json數(shù)據(jù)格式,作為數(shù)據(jù)保持、傳輸?shù)囊环N方式。
說是其中一種,就標(biāo)示還有好多其他格式。比如:最多是xml。webservice的標(biāo)準(zhǔn)數(shù)據(jù)格式。
不過由于json是JavaScript 對象表示法(JavaScript Object Notation),天生就對js支持很好,
所以現(xiàn)在很多的ajax等都使用json,反而會更好處理一些。

1、定義

什么是 JSON ?
1.JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
2.JSON 是輕量級的文本數(shù)據(jù)交換格式
3.JSON 獨(dú)立于語言 *
4.JSON 具有自我描述性,更易理解
* JSON 使用 JavaScript 語法來描述數(shù)據(jù)對象,但是 JSON 仍然獨(dú)立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。
w3c的標(biāo)準(zhǔn)說明如下:
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時也易于機(jī)器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。

JSON建構(gòu)于兩種結(jié)構(gòu):

1.“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀(jì)錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。
2.值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數(shù)組(array)。
這些都是常見的數(shù)據(jù)結(jié)構(gòu)。事實(shí)上大部分現(xiàn)代計算機(jī)語言都以某種形式支持它們。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語言之間交換成為可能。

JSON具有以下這些形式:

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

注意:如果后臺直接傳遞對象來js,則是json格式的。參考文章:

[Jquery+asp.net 后臺數(shù)據(jù)傳到前臺js進(jìn)行解析的辦法說明]
[jquery ajax傳遞對象(數(shù)組)到后臺并解析的實(shí)現(xiàn)]

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


注意:傳遞數(shù)據(jù)這個就好理解。其實(shí)就一個array。array和json直接的關(guān)系,請參考文章:

[javascript對象及數(shù)組 json的一些了解說明]

2、json標(biāo)準(zhǔn):

json表示:我沒有標(biāo)準(zhǔn)。哈哈。我說的標(biāo)準(zhǔn)是指什么樣的格式化的字符串js才能解析成json?

下面這個json串就是正確的:

代碼如下:
{
"employees": [
{
"firstName": "Bill",
"lastName": "Gates"
},
{
"firstName": "George",
"lastName": "Bush"
},
{
"firstName": "Thomas",
"lastName": "Carter"
}
]
}

注意:

json串,在js中會解析成對象。其中對象的名稱比如:
employees、firstName,必須用""或者''引起來才行。后面的value,如果是int和bool(js是不區(qū)分的哦),可以不用""或者''引起來,其他的字符串必須引起來,尤其是記得把時間日期引起來!

總結(jié)如下:

里面的是一個對象,如果是多個對象,則用逗號間隔,即{},{},這樣就組成了一個對象序列,為了辨別開始和結(jié)束,則需要加上[]才能進(jìn)行傳遞,則實(shí)際傳遞的形式應(yīng)該是[{},{}],如果只要傳遞一個對象,則{}的形式就可以了。接下來就是對象屬性的表現(xiàn)方式了,屬性必須在""
里面,屬性與值之間用:隔開,屬性之間用,來分隔,如果屬性的值為數(shù)組,則用[]包括起來,這樣實(shí)際傳遞的數(shù)據(jù)格式可能有:1、{"屬性1":值1,"屬性2":值2},如果值為字符串,則也需要用""括起來(下同)。2、{"屬性1":值1,"屬性2":[值1,值2]},其中屬性2是一個數(shù)組,包含
了值1和值2。3、{"屬性1":值1,"屬性2":{"屬性a":值a,"屬性b":[值b,值c]}},這個比較復(fù)雜了,屬性2是個對象,這個對象由包含屬性a和屬性b,屬性b又是一個數(shù)組包含值b和值c。我想這些應(yīng)該是最基本了,其余的就是在此基礎(chǔ)上的拓展而已。

實(shí)際中,要序列化對象,在.net中只要調(diào)用Newtonsoft.Json.JavaConvert.SerializeObject();函數(shù)即可

參考:

jquery ajax傳遞對象(數(shù)組)到后臺并解析的實(shí)現(xiàn)

http://www.gxlcms.com/article/40131.htm

3、json有這么多要求(其實(shí)不多了),我們怎么判斷其正確性?

有辦法,就是你打印出來字符串,自己的按照上面的結(jié)構(gòu)對應(yīng)一下,或者直接使用在線檢驗(yàn)工具檢驗(yàn)。

參考:http://www.kjson.com/
http://tool.oschina.net/codeformat/json

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json

json的定義、標(biāo)準(zhǔn)格式及json字符串檢驗(yàn)_json:現(xiàn)在越來越多的項(xiàng)目和開發(fā)插件等默認(rèn)都會支持和使用json數(shù)據(jù)格式,作為數(shù)據(jù)保持、傳輸?shù)囊环N方式。 說是其中一種,就標(biāo)示還有好多其他格式。比如:最多是xml。webservice的標(biāo)準(zhǔn)數(shù)據(jù)格式。 不過由于json是JavaScript 對象表示法(JavaScript Obj
推薦度:
標(biāo)簽: 格式 定義 校驗(yàn)
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top