成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JSON的理解

banana_pi / 890人閱讀

摘要:一般數(shù)據(jù)類型有以下幾種類型區(qū)分?jǐn)?shù)據(jù)類型,標(biāo)量,也就是一個(gè)多帶帶的字符串或數(shù)字,序列,也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組,映射,也就是一個(gè)名值對(duì)的數(shù)據(jù)類型有以下幾種,,,,,,,支持的格式?jīng)]有和支持類型但不含語(yǔ)法規(guī)則,數(shù)

一般數(shù)據(jù)類型有以下幾種類型(區(qū)分JS數(shù)據(jù)類型):
1,標(biāo)量(scalar),也就是一個(gè)多帶帶的字符串(string)或數(shù)字(number)
2,序列(sequence),也就是若干個(gè)相關(guān)的數(shù)據(jù)按照一定順序并列在一起,又叫做數(shù)組
3,映射(mapping),也就是一個(gè)名/值對(duì)(Name/value)

JS的數(shù)據(jù)類型有以下幾種:
1,String,
2,Number
3,Boolean
4,Undefined
5,Null
6,Symbol
7,Object->Array,Function,Date,Error,...

JSON 支持的格式?jīng)]有symbol和undefined,支持Number類型但不含NaN;

JSON 語(yǔ)法規(guī)則:

1,數(shù)據(jù)在名稱/值對(duì)中
2,數(shù)據(jù)由逗號(hào)分隔
3,花括號(hào)保存對(duì)象
4,方括號(hào)保存數(shù)組
JSON的名稱必須是用“ ”包含的也就是“string”;

所以JSON只是一個(gè)數(shù)據(jù)格式,這種格式也分三種:

1,JSON字符串 可以這么寫但不是合法的JSON數(shù)據(jù)(目的只是作為字符串便于傳遞)
下面數(shù)組和對(duì)象要轉(zhuǎn)換為這種格式

var json = "{"name" : "obama","age": 73}";       

2,JSON數(shù)組

var jsonArray = ["obama","bush","cliton",null];

3,JSON對(duì)象

var jsonObj = {
    "name" : "obama",
    "age" : 73
}

以上三種都是JSON格式的數(shù)據(jù)類型;

但在一般程序中作為數(shù)據(jù)傳遞的話,一般都是作為文本Text傳遞的較多,也就是字符串,因此有專門的方法,

var json = "{"name" : "obama","age" : 73 }";
    //如果直接使用的話,得到的只是一個(gè)字符串,因此需要轉(zhuǎn)化為Object;
    //json.name  -> undefined
    
var jsonStr = eval("("+json+")");
    
    //之所以在eval函數(shù)的內(nèi)部在添加一個(gè)括號(hào),如果沒有的話,函數(shù)會(huì)直接解析掉外部的大括號(hào),最終報(bào)錯(cuò),這不是一個(gè)好的方法;
    //使用es5的方法
    
var jsonStr = JSON.parse(json);    //{"name" : "obama","age" : 73}
 jsonStr.name = "obama";

    //或者將JSON對(duì)象轉(zhuǎn)換為字符串,便于使用
var jsonObj = {
    "name" : "obama",
    "age" : 73
}
var jsonStr = JSON.stringify(jsonObj);    //"{"name":"obama","age":73}";

typeof jsonStr ==="string"    //true

//需要注意的是使用JSON方法得到的都是深度拷貝,是兩個(gè)不同的數(shù)據(jù),

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88592.html

相關(guān)文章

  • 深入理解JavaScript系列11:根本沒有“JSON對(duì)象”這回事

    摘要:更多資料如果你想了解更多關(guān)于的資料,下面的連接對(duì)你絕對(duì)有用關(guān)于本文本文轉(zhuǎn)自大叔的深入理解系列。深入理解系列文章,包括了原創(chuàng),翻譯,轉(zhuǎn)載,整理等各類型文章,原文是大叔的一個(gè)非常不錯(cuò)的專題,現(xiàn)將其重新整理發(fā)布。 前言 寫這篇文章的目的是經(jīng)??吹介_發(fā)人員說(shuō):把字符串轉(zhuǎn)化為JSON對(duì)象,把JSON對(duì)象轉(zhuǎn)化成字符串等類似的話題,所以把之前收藏的一篇老外的文章整理翻譯了一下,供大家討論,如有錯(cuò)誤,...

    darryrzhong 評(píng)論0 收藏0
  • 傻傻弄不清楚JSON?

    摘要:不同的語(yǔ)言中,它被理解為對(duì)象,紀(jì)錄,結(jié)構(gòu),字典,哈希表,有鍵列表,或者關(guān)聯(lián)數(shù)組值的有序列表。數(shù)組是值的有序集合。在前后端分離的大勢(shì)是前段和后端的一種數(shù)據(jù)交換形式,不僅僅是前后端的一種數(shù)據(jù)交換形式,還是系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的一種形式。 作為一名開發(fā)人員,我們時(shí)常跟JSON打交道,但對(duì)于JSON卻有這不少的疑惑,但平常也就是停留在使用的角度上。今天我們就來(lái)走進(jìn)JSON。 我們首先引入兩個(gè)問...

    xialong 評(píng)論0 收藏0
  • 簡(jiǎn)單理解Javascript各種異步流程控制方法

    摘要:所以僅用于簡(jiǎn)化理解,快速入門,依然需要閱讀有深入研究的文章來(lái)加深對(duì)各種異步流程控制的方法的掌握。 原文地址:http://zodiacg.net/2015/08/javascript-async-control-flow/ 隨著ES6標(biāo)準(zhǔn)逐漸成熟,利用Promise和Generator解決回調(diào)地獄問題的話題一直很熱門。但是對(duì)解決流程控制/回調(diào)地獄問題的各種工具認(rèn)識(shí)仍然比較麻煩。最近兩天...

    makeFoxPlay 評(píng)論0 收藏0
  • 快速理解和使用 ES7 await/async

    摘要:是最重要特性之一,它是目前為止最佳的異步解決方案了。雖然沒有在中錄入,但很快就到來(lái),目前已經(jīng)在階段。表示暫停,表示執(zhí)行下一步,如果你不了解也沒關(guān)系,可以忽略它直接學(xué)習(xí)。 await/async 是 ES7 最重要特性之一,它是目前為止 JS 最佳的異步解決方案了。雖然沒有在 ES2016 中錄入,但很快就到來(lái),目前已經(jīng)在 ES-Next Stage 4 階段。 直接上例子,比如我們需要...

    Kross 評(píng)論0 收藏0
  • JSON:如果你愿意一層一層剝開我心,你會(huì)發(fā)現(xiàn)...這里水很深——深入理解JSON

    摘要:說(shuō)句玩笑話,如果是基于的,可能就叫了,形式可能就是這樣的了,如果這樣,那么可能現(xiàn)在是和比較密切了。此外,還有一個(gè)函數(shù),我們較少看到,但是它會(huì)影響。 我們先來(lái)看一個(gè)JS中常見的JS對(duì)象序列化成JSON字符串的問題,請(qǐng)問,以下JS對(duì)象通過(guò)JSON.stringify后的字符串是怎樣的?先不要急著復(fù)制粘貼到控制臺(tái),先自己打開一個(gè)代碼編輯器或者紙,寫寫看,寫完再去仔細(xì)對(duì)比你的控制臺(tái)輸出,如果有...

    Baaaan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<