• JSON简单入门


    来源:http://blog.csdn.net/hanmeijuan/article/details/8135630

     JSON(JavaScript Object Notation)一种简单的数据格式,相比xml更轻巧,易于机器生成和解析,而且传输的有效性也提高很多,现在.NET中也有一些来处理JSON的类(详细查看JSON in .NET)。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON不需要任何的API或者工具包。

          JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔,具体细节参考(http://www.json.org/json-zh.html

          1.、在JavaScript中创建一个JSON的对象

    示例:

    var user= 

    {     "username":"andy",     "age":20,     "info":{"tel":"123456","cellphone":"7890"},     "address":     [        {"city":"beijing","postCode":"111111"},        {"city":"anhui","postCode":"222222"}     ] }

          我们定义了一个user对象,拥有username, age, info, address 等属性,我们看到,JSON的定义中是容许进行嵌套的,现在我们来访问下这个user对象的一些属性的值,如下:

    alert('user.username:'+user.username);

    alert('user.age:'+user.age); 

    alert("tel:"+user.info.tel+";cellphone:"+user.info.cellphone); 

    alert(user.address[0].city);                                   

          下面我们来修改user对象的一些属性的值,如下:

            user.username="newName";         alert(user.username);

          2、JavaScript中有的eval函数

          通过eval函数可以将具有JSON格式的字符串转换为JSON对象

    示例:

           var jsonStr='{"name":"wudan","age":"20"}';        //定义一个json格式的字符串        var jsonObj=eval_r('('+jsonStr+')');                //利用eval方法将json结构的字符串转换为JSON类型,以供读取数据        alert(jsonObj.name);                              //读取属性

          3、利用JSON提供的js包处理json数据(toJSONString方法和parseJSON方法)

          JSON提供了json.js包,下载http://www.json.org/json.js  后,将其引入后就可以使用其提供的toJSONString()方法了,toJSONString方法可以将一个object对象转换为具有JSON格式的字符串(这样我们可以很方便的对数据进行处理了),我们也可以通过上面的evel函数再将字符串转换为JSON对象进行访问

            示例:

           //定义一个对象

           function Car(make,model,year,color)        {              this.make=make;              this.model=model;              this.year=year;              this.color=color;        }

           function showCar()        {              var carObj=new Car("Doge","Cornet",1968,"yellow");              alert(typeof(carObj));  //object类型                               //首先利用toJSONString方将一个object类型转换为一个JSON结构的一个字符串              var Obj=carObj.toJSONString();               alert(typeof(Obj));     //String类型                              //利用eval方法将一个json结构的字符串转换为一个json类型数据,以供读取其中的数据             var jsonObj=eval_r('('+Obj+')');             alert(typeof(jsonObj)); //object类型            //访问对象属性            alert(jsonObj.make);        }

          另外,json.js中的还提供了parseJSON()方法,此方法和JavaScript的evel方法作用一样,都是将JSON格式的字符串转换为JSON对象

    示例:

           //parseJSON()方法:将字符串转换为JSON对象        function parseJsonTest()        {               var str='{"name":"wudan","age":"20"}';               var obj=str.parseJSON();               alert(obj.name);        }

          怎样?是不是感觉很方便很简单呀,哈哈,不错,就是这样的简单!,对于简单的数据类型我们完全可以JSON进行处理,不用像解析xml那样的复杂繁琐了。

          我们来总结下吧,这里我们主要讲了JavaScript中如何定义一个JSON对象以及JSON对象的格式,然后讲到JavaScript中用于处理JSON的函数evel()函数(功能是将一个JSON格式的字符串转换为JSON对象),最后我们还讲到了json提供的js包中的两个函数toJSONString()方法和parseJSON()方法。

                  eval方法:用于将JSON格式的字符串转换为JSON对象(属于JavaScript自带的)

                  parseJSON方法:用于将JSON格式的字符串转换为JSON对象(json的js中提供的)

                  toJSONString方法:用于将一个object对象转换为一个具有JSON格式的字符串(json的js中提供的)

  • 相关阅读:
    POJ3268-Silver Cow Party-(Dijstra)
    POJ3259-Wormholes-( spfa || Bellman_Ford )
    POJ2139-Six Degrees of Cowvin Bacon-(Floyd_Warshall)
    hdu3974-Assign the task-(dfs+线段树)
    ZOJ3261-Connections in Galaxy War-(逆向并查集+离线处理)
    hdu1540-Tunnel Warfare-(线段树+二分)
    hdu4027-Can you answer these queries? -(线段树+剪枝)
    POJ3616-Milking Time-(dp)
    Visual Studio Code
    Visual Studio Code
  • 原文地址:https://www.cnblogs.com/zhhq/p/3469743.html
Copyright © 2020-2023  润新知