zoukankan      html  css  js  c++  java
  • JSON对象、JSON字符串的相互转换

    JSON对象、JSON字符串的相互转换


    json的格式:

    第一种方式:

      单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号

       var json = '{ "username  ": ' + """ + username + """ 
    
                           + ', "性别":' + """ + sex + """ 
    
                           + '}';

    这里将json字符串转换成json对象有两种方法,分别是eval()和JSON.parse()(通常用eval)

    1. var JSONObject = eval('(' + json + ')'); 将json字符串转换成json对象

    2. var JSONObject = JSON.parse(json);

    注意当用JSON.parse()时,可能会出现JSON未定义的页面js错误

    解决方法:关闭浏览器兼容模式

    数据访问方式:

    var username = JSONObject.username  ;
    
    var sex = JSONObject.sex  ;

    第二种:json数组

    var jsonArr = ‘[{ "username ": username, "sex ": sex},{ "username ": username1, "sex ": sex1}]’;

    和上面一样,将json字符串转换成json对象有两种方法,分别是eval()和JSON.parse()(通常用eval)

    1. var JSONObject = eval(jsonArr); 将json字符串转换成json对象

    2. var JSONObject = JSON.parse(JSON.stringify(jsonArr));

    这里,将json数组转换成json对象时,parse时,必须传入的是字符串的格式,所以首先必须将数组对象解析成字符串,这里就用到了JSON.stringify(),将对象转换成字符串后,然后用JSON.parse()将json字符串转换成json对象

    思路 :js数组对象-->字符串-->json对象

    JSON.stringify():js数组对象转换后的字符串 "[{"u59d3u540d":"Alltas","u6027u522b":"u7537","u5e74u9f84":"22"}]"

    JSON.parse():将上述字符串转换成json对象

    然后就可以利用json对象的属性来访问各属性的值了

    属性就相当于key,值是value。Key-value键值对形式

    数据访问:

    var username = JSONObject[0].username  ;
    
     var sex = JSONObject[0].sex  ;

    建议:属性用英文,尽量不要用中文。

    第三种:json数组(与第二种略有区别)

    var txt = '{"employees":[' +
    
    '{"firstName":"Bill","lastName":"Gates" },' +
    
    '{"firstName":"George","lastName":"Bush" },' +
    
    '{"firstName":"Thomas","lastName":"Carter" }]}';

    数据访问:

    var obj = eval ("(" + txt + ")");
    
    firstName = obj.employees[1].firstName
    
    lastName = obj.employees[1].lastName
  • 相关阅读:
    个人总结---小水长流,则能穿石
    软件工程与UML作业3(互评作业)
    软件工程与UML作业2
    软件工程与UML作业1
    大创省级答辩总结
    C语言知识汇编
    C语言知识点汇集
    C语言汇总3
    C语言汇总2
    c语言汇总1
  • 原文地址:https://www.cnblogs.com/yx007/p/5688677.html
Copyright © 2011-2022 走看看