<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • JavaScript對象、JSON對象、JSON字符串的區別

    2018-8-15    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    JavaScript對象、JSON對象、JSON字符串的區別

    一、首先看下什么是JSON

    JSON:JavaScript Object Natation,JavaScript對象的表現形式,已經發展成一種輕量級的數據交換格式。

    JavaScript對象的表現形式,指定義JS對象的一種方式。
    數據交換格式,即用于交換的數據格式。

    JSON是種格式:

    數據在鍵值對中, 數據由逗號分隔, 花括號保存對象, 方括號保存數組.
    鍵值對組合中的名稱寫在前面,值對寫在后面,中間用冒號隔開
    JSON 值可以是: 數字, 字符串, 邏輯值, 數組, 對象, null

    JSON與XML相比,JSON更輕量級,XML更重量級,目前XML更多的用作配置文件。

     

    二、再來看下什么是javascript對象

    雖然有人說JavaScript 中的所有事物都是對象,但是 javascript 中,并不是所有的值都是對象,而有兩種值類型:原始值和對象。
    (參考:http://blog.csdn.net/justjavac/article/details/8432989 JavaScript 并非所有的東西都是對象)

    JavaScript原始值:
    字符串,數字,布爾值,null,正則表達式
    注:在 JavaScript 中所有的數字都是浮點數

    JavaScript內置對象:
    Object(基礎對象),
    Array(數組),
    Function(函數構造器),
    Math(數學對象),
    String(字符串對象),
    Number(數值對象),
    Boolean(布爾對象),
    Date(日期時間),
    Error(異常對象),
    RegExp(正則表達式對象),
    Arguments(函數參數集合)
    (參考:http://www.cnblogs.com/lianzi/archive/2011/08/26/2154253.html javascript內置對象列表及Array和String的常用方法)

    其中 Boolean, Number, String 是原始值的包裝器,很少直接使用

    JavaScript 創建對象的方法:
    1)使用內置對象
    var person=new Object();//創建基礎對象實例,然后為其添加屬性
    person.firstname="Bill";
    person.lastname="Gates";
    person.age=56;
    2)自定義對象構造
    function Person(firstname,lastname,age){//自定義對象構造器,然后創建實例
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    }
    var person=new Person("Bill","Gates",56);
    //定義對象構造器,可以使用“this”關鍵字構造、也可以使用原型prototype構造
    (參考:http://www.jb51.net/article/20428.htm JavaScript 三種創建對象的方法)
    3)使用直接量(literals 有直接量、字面量、常量等詞義)
    var arr = [obj.a, 0, obj.a+1];
    var obj = {name: 'John' + 'McCarthy'};

    注:
    準確的說不叫直接量(literals),而叫初始器(Initialiser),可以在里面使用表達式
    初始器有對象和數組兩種,所以有“對象直接量”,“數組直接量”這樣的說法

    初始器基于JSON,要符合JSON語法格式,
    因此有人說JSON是JavaScript的原生格式,
    在JavaScript中處理JSON數據不需要任何特殊的API或者工具包

    但是初始器里面是可以有表達式的,就像例子里的一樣
    (參考:http://www.cnblogs.com/snandy/p/3439790.html JavaScript中的直接量與初始器的區別)

    原始值只包括字符串,數字,布爾值,null,正則表達式,不包括 Undefined 和 Initialiser

     

    三、JavaScript對象、JSON對象、JSON字符串

    javascript對象:javascript中,除開JavaScript原始值(字符串,數字,布爾值,null,正則表達式)的都是javascript對象

    JSON對象:JSON對象這種叫法不太準確,可以理解為使用基于JSON的初始器定義的javascript對象

    JSON字符串:符合JSON語法格式的字符串

     

     

    javascript對象和JSON字符串相互轉換:
    1:jQuery插件支持的轉換方式
    $.parseJSON( jsonstr );$("xxx").serializeArray();
    2:瀏覽器支持的轉換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器
    JSON.parse(jsonstr);JSON.stringify(jsonobj);
    3:Javascript支持的轉換方式
    eval('(' + jsonstr + ')');//不推薦
    4:JSON官方的轉換方式
    引入 json.js 或 json2.js,用法同第二種
    (參考:http://www.cnblogs.com/luminji/p/3617160.html JS中對象與字符串的互相轉換)

     

    JAVA對象和JSON字符串相互轉換:
    可以用jackson、Gson和json-lib等
    (參考:http://www.blogjava.net/bolo/archive/2014/04/16/412533.html 使用jackson對Java對象與JSON字符串相互轉換的一些總結)

    藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務



    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产午夜精品一区理论片| 亚洲欧洲国产日韩精品| 国产成人精品天堂| 婷婷成人国产精品| 91精品国产成人网在线观看| 久久精品黄AA片一区二区三区| 国产精品无打码在线播放| 国产成人精品免费视频大全麻豆| 亚洲精品美女久久777777| 久久青青草原精品国产软件| 永久免费精品视频| 国产精品免费福利久久| 亚洲欧美一级久久精品| 精品国产婷婷久久久| 中文字幕一区二区精品区| 国产精品电影网| 久久精品亚洲精品国产色婷| 亚洲?V无码成人精品区日韩| 国产精品成人99久久久久| 最新国产精品亚洲| 欧美精品福利视频| 黑人精品videos亚洲人| 99在线精品免费视频九九视| 十八18禁国产精品www| 中文精品人人永久免费| 亚洲国产精品一区二区第一页免| 精品91自产拍在线观看二区| 国产精品自在欧美一区| 国产精品1024视频| 国产69精品久久久久99尤物| 一本久久a久久精品综合夜夜 | 午夜天堂精品久久久久| 四虎永久在线精品国产馆V视影院| 精品日韩欧美国产| 国产亚洲精品看片在线观看| 国产精品免费大片一区二区| 91po国产在线精品免费观看| 国产精品九九久久免费视频| 国产精品第1页| 精品国产日韩亚洲一区| 欧美精品高清在线xxxx|