zoukankan      html  css  js  c++  java
  • JavaScript(11):JSON对象

    一、JSON对象概念

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。

    JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

    1、JSON的规则

    对象是一个无序的“‘名称/值’对”集合。

    • 一个对象以“{”开始,“}”结束。
    • 每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

    具体细节参考:http://www.json.org/json-zh.html

    因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON对象是非常简单的。  

    例一:我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method","regex"。

    var myJSONObject = {"bindings": [    
            {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},    
            {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},       
            {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}    
        ]      
    };

    例二:这表示一个user对象,拥有username, age, info, address 等属性。

    var user =
       {
           "username": "andy",
           "age": 20,
           "info": { "tel": "123456", "cellphone": "98765" },
           "address": [{ "city": "beijing", "postcode": "222333" }, { "city": "newyork", "postcode": "555666"}]
       }

    二、JSON对象的读取

    在javascript 中, 成员可以通过“点号”来获取。 

    myJSONObject.bindings[0].method

    三、修改JSON数据

    也可以用JSON来简单的修改数据。

    function showJSON() {
        var user =
       {
           "username": "andy",
           "age": 20,
           "info": { "tel": "123456", "cellphone": "98765" },
           "address": [{ "city": "beijing", "postcode": "222333" }, { "city": "newyork", "postcode": "555666"}]
       }
        alert(user.username);
        alert(user.age);
        alert(user.info.cellphone);
        alert(user.address[0].city);
        alert(user.address[0].postcode);
        user.username = "Tom";
        alert(user.username);
    }

    四、字符串转成JSON对象

    1、通过eval() 函数可以将JSON字符串转化为对象。

    文本生成json对象,必须在外面加一对括号。    

    function myEval() {
        var str = '{ "name": "Violet", "occupation": "character" }';
        var obj = eval('(' + str + ')');
        alert(obj.name);
    }

    eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。

    2、利用JS的JSON对象功能

    json 转 String

    var str = JSON.stringify(json)
    console.log(str);

    String 转 Json

    json = JSON.parse(str);
    console.log(json)

    3、利用jquery.json-2.2.min.js将Object转成JSON

    function showCar() {
        var carr = new Car("Dodge","Coronet R/T", 1968, "yellow");
        var JosnString = $.toJSON(carr);      //{"make":"Dodge","model":"Coronet R/T","year":1968,"color":"yellow"}       
        var make = $.evalJSON(JosnString).make; 
        alert(make);
    }
    
    function Car(make, model, year, color) {
        this.make = make;
        this.model = model;
        this.year = year;
        this.color = color;
    }
  • 相关阅读:
    用Java redis 实现发送手机验证码的功能
    redis之Java Jedis 的使用(使用maven引入)
    设计模式之代理模式
    Redis相关配置
    Redis五大数据类型
    设计模式之享元模式
    设计模式之外观模式
    设计模式之组合模式
    设计模式之装饰者模式
    设计模式之适配器模式
  • 原文地址:https://www.cnblogs.com/springsnow/p/12373148.html
Copyright © 2011-2022 走看看