JSON对象和JSON字符串知识总结

大致概念如下:

JSON对象如同++、C#等语言中类创建的对象一样,可以用"对象.属性"的方式调用其属性(方法),js中同样可以对JSON对象直接获取其属性等;
JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,只可作为一个普通的字符串使用。

例如:

JSON对象:

var person={"name":"薛之谦","sex":"男","lover":"you"}
alert("薛之谦钟情于:" + person.lover);//薛之谦钟情于:you

person就是一个json对象。可以用perosn.lover(.name .sex)这种方式进行属性的调用。


JSON字符串:

json字符串,即js中用单引号或者双引号引起来的内容。

var person='{"name":"薛之谦","sex":"男","age":"34"}';
alert(person);//{"name":"薛之谦","sex":"男","age":"34"}

person就是一个json字符串,只可以将其作为一个整体进行操作,除了截取这一途径外,不能直接获取其中存储的部分数据。


通常情况下,调用wcf服务等,返回到前端给我们的都为一个json字符串。

例如:

wcf中利用:

 
    
 
    
JsonConvert.SerializeObject:可以将自定义的类序列化 {\"name\":\"张三\",\"sex\":\"F\"} 单独一个字符串,序列化为: /"value/"
JsonConvert . DeserializeObject:反序列化为json对象
{
  "name": "张三",
  "sex": "F"
}
直接使用字符串的话,对我们来说意义不大,因此通常情况下是需要将其转换为json对象来进一步的处理。
 
    

JSON字符串和JOSN对象的转换:

 
     

将"JSON字符串"转化为"JSON对象"的方法

①使用$.parseJSON(str)

    var person='{ "name": "薛之谦" }';
    var obj = jQuery.parseJSON(person); //$.parseJSON(person)

②JSON.parse(str)

        var data= '{ "name": "ryanSu", "age": "25" }';
        data= JSON.parse(data);
        alert(data.name); //ryanSu


③使用eval('('+str+')');

    var person='{ "name": "ryanSu" }';
    var data= eval('(' + person+ ')'); 
    alert( data.name);
 

以上均会输出name属性所对应的值。①②仅适用于标准格式'{ "name": "ryanSu" }'

③可以转换以下标准和非标准格式字符串:

   var data1="{ 'name': 'ryan' }";
   var data2='{ "name": "ryan" }';
   var data3="{ name: 'ryan' }";


将"JSON对象"转化为"JSON字符串"的方法

使用全局方法①JSON.stringify()与②toJSONString()

例如:

var data=object.toJSONString();

var data=JSON.stringify(object);

alert(data);

均可以将json对象转化为json字符串,进而作为一个整体进行alert(虽然没什么意义)。

你可能感兴趣的:(技术博客,json,json字符串,json对象,对象)