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数组对象转换后的字符串 "[{"\u59d3\u540d":"Alltas","\u6027\u522b":"\u7537","\u5e74\u9f84":"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

JSON对象、JSON字符串的相互转换的更多相关文章

  1. 第168天:json对象和字符串的相互转换

    json对象和字符串的相互转换 1.json对象和字符串的转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和pa ...

  2. json对象与字符串的相互转换,数组和字符串的转换

    1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space])  var student = new Object(); student.id ...

  3. json对象和字符串的相互转换

    JSON.stringify(obj)       将JSON对象转为字符串. JSON.parse(string)       将字符串转为JSON对象格式. 后台给你数据的时候,有时候会给你字符串 ...

  4. JSON对象与字符串之间的相互转换

    <html> <head> <meta name="viewport" content="width=device-width" ...

  5. Json数组操作小记 及 JSON对象和字符串之间的相互转换

    [{"productid":"1","sortindex":"2"},{"productid":&q ...

  6. JSON对象与字符串之间的相互转换 - CSDN博客

    原文:JSON对象与字符串之间的相互转换 - CSDN博客 <html> <head> <meta name="viewport" content=& ...

  7. js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换

    1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...

  8. js中的json对象和字符串之间的转化

    字符串转对象(strJSON代表json字符串)   var obj = eval(strJSON);   var obj = strJSON.parseJSON();   var obj = JSO ...

  9. json对象转字符串与json字符串转对象

    1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...

  10. js字符串转json格式与json对象转字符串

    json字符串----->json对象json对象------>json字符串 使用JSON.parse()函数 this.dataList = JSON.parse(dataList); ...

随机推荐

  1. 翻译:如何使用CSS实现多行文本的省略号显示

    本文翻译自CSS Ellipsis: How to Manage Multi-Line Ellipsis in Pure CSS,文中某些部分有些许改动,并添加译者的一些感想,请各位读者谅解. 合理的 ...

  2. 初探LVS NAT与DR

    1. LB.LVS介绍LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群 LVS是一个实现负载均衡集群的开源软件项目 LVS架构从逻辑上可分为调度层(Director).ser ...

  3. MegaCli 安装过程

    首先说下自己遇到的坑: 百度搜索了一篇关于安装 MegaCli 的文章,于是乎就开始安装,装完之后获取不到 raid 的信息,后来发现是版本问题,就又搜索了一堆文章,最后搞定了 [root@web-0 ...

  4. ST Lab1 junit test

    代码地址:  https://github.com/newff/st-lab1 Tasks: Install Junit(4.12), Hamcrest(1.3) with Eclipse Insta ...

  5. jQuery中$.extend(true,object1, object2);深拷贝对象

    语法:jQuery.extend( [deep ], target, object1 [, objectN ] ) 深浅拷贝对应的参数就是[deep],是可选的,为true或false.默认情况是fa ...

  6. 【iOS】7.4 定位服务->2.1.3.2 定位 - 官方框架CoreLocation 功能2:地理编码和反地理编码

    本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...

  7. 梳理下Cordova的热更新

    公司的大部分都是Hybrid 产品,也就是混合开发,所以比较重要的一个核心功能就是热更新了. 做这个功能的时候中间碰到不少坑,记录一下,比较简单,大致思想就是从服务器拉取JS文件替换掉本地对应文件 之 ...

  8. Zookepper(2015.08.16笔记)

    2015.08.16zookepper   Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务(如同小区里面的供水.电的系统) 它包含一个简单的原 ...

  9. c#XML操作类的方法总结

    using System.Xml;using System.Data; namespace DotNet.Utilities{    /// <summary>    /// Xml的操作 ...

  10. css gray,grayscale,css变灰兼容大部分浏览器

    css gray,grayscale,css变灰兼容大部分浏览器 html { filter: url("data:image/svg+xml;utf8,<svg xmlns=\'ht ...