zoukankan      html  css  js  c++  java
  • JSON 对象和字符串

    JSON 对象和字符串

    粘贴自:https://www.cnblogs.com/cstao110/p/3762056.html

    Q:什么是"JSON字符串",什么是"JSON对象",两者的区别?**

    • JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样
    • JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;

    JSON对象:

    var str2 = { "name": "deluyi", "sex": "man" };
    

    JSON字符串:

    var str1 = '{ "name": "deyuyi", "sex": "man" }';
    

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

    一:使用$.parseJSON(str)

    //由JSON字符串转换为JSON对象
    var str='{ "name": "John" }';
    var obj = jQuery.parseJSON(str)
    alert("1"+ obj.name);
    

    ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

    二:JSON.parse(str)

    var str = '{ "name": "mady", "age": "24" }';
    var obj = JSON.parse(str);
    alert(obj.name);
    

    ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

    三:使用eval('('+str+')');

    //由JSON字符串转换为JSON对象
    var str='{ "name": "John" }';
    var obj = eval('(' + str + ')'); 
    alert( obj.name);
    
    var str2="{ 'name': 'John' }";
    var obj2 = eval('(' + str2 + ')'); 
    alert( obj2.name);
    
    var str3="{ name: 'John' }";
    var obj3 = eval('(' + str3 + ')'); 
    alert( obj3.name); 
    

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

    var str="{ 'name': 'John' }";
    var str2='{ "name": "John" }';
    var str3="{ name: 'John' }";
    

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

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

    例如:

    var last=obj.toJSONString(); //将JSON对象转化为JSON字符
    

    或者

    var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
    

    Q:读取JSON对象的方法?

    如上面的例子:

    var str2 = { "name": "mady", "sex": "man" };
    

    就可以这样读取:

    alert(str2.name);//和C#一样直接往出点…
    

    弹出” mady”。

    我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如(嵌套类型的 JSON :

    var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};
    

    解析用:

    alert(str.GetUserPostByIdResult.Name);//一次点不出来,我多点几次
    

    弹出:”mady”。

  • 相关阅读:
    使用HttpClient发送请求、接收响应
    jdbc操作
    数据库通用Jdbc操作
    将WSDL文件生成的Java文件
    数据结构_线性表_链表实现
    15年第六届蓝桥杯第七题_手链样式_(stl_string)
    16年第七届蓝桥杯第九题_密码脱落_(贪心)
    16年第七届蓝桥杯第七题_剪邮票
    16年第七届蓝桥杯第三题_方格填数
    Codeforces_789C_(dp)
  • 原文地址:https://www.cnblogs.com/youpeng/p/10991911.html
Copyright © 2011-2022 走看看