前言

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

js解析json字符串

// JSON字符串
'var str1 = '{ "name": "cxh", "sex": "man" }';// JSON对象
var str2 = { "name": "cxh", "sex": "man" };

要使用str1,必须要先转化为JSON对象,有以下三种方式:

var obj = eval('(' + str + ')'); //eval来转换JSON字符到Objectvar obj = str.parseJSON(); //由JSON字符串转换为JSON对象var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后就可以读取了

Alert(obj.name);Alert(obj.sex);

除了eval()函数是js自带的之外,其他的几个都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON(),说明你的json包版本太低。

JS 对象与JSON之间的转换

JS对象转JSON

方式:JSON.stringify(obj)

var json = {"name":"iphone","price":666}; //创建对象;
var jsonStr = JSON.stringify(json);       //转为JSON字符串
console.log(jsonStr);{"name":"iphone","price":666}

JS数组转JSON

//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

JS对象数组转JSON

//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

JSON转JS数组

//json字符串转数组
var jsonStr = '[1,2,3,{"a":1}]';
var jsarr=JSON.parse( jsonStr );
alert(jsarr[0]);

JSON转JS对象

var jsonString = '{"bar":"property","baz":3}';
var jsObject = JSON.parse(jsonString);    //转换为json对象
alert(jsObject.bar);    //取json中的值

js解析json字符串、对象与json之间的转换相关推荐

  1. JSON 与 对象 、集合 之间的转换(转)

    JSON字符串和java对象的互转[json-lib] 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的 ...

  2. json字符串、json对象、数组之间的转换

    记录一下 json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.pa ...

  3. java如何解析JSON字符串(复杂json解析详解)

    1.什么是JSON字符串? 我们在理解json的时候,不必要过分的扣json到底是哪几个字母的简称,要了解本质. JSON的本质就是字符串,字符串几乎所有的系统都支持,所以json的兼容性好. JSO ...

  4. oracle json字符串转数组,json字符串转化成json对象(原生方法)

    json字符串.json对象.数组 三者之间的转换 //json字符串.json对象.数组 三者之间的转换 let jsonStr = '[{"id":"01" ...

  5. 【小程序】【Tips】【实践】Json 的对象 和 Json字符串 的区别和转换

    前言:本文,实践打印两种不同格式的json文件的表示方式: 1 JSON.parse()与JSON.stringify()的区别 https://www.cnblogs.com/goatling/p/ ...

  6. json字符串转成 json对象 json对象转换成java对象

    import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...

  7. C#中XML、JSON、类T数据格式之间的转换

    在C#中,XML与JSON之间可以相互转化 XML与T类型也可以相互转化[XML有且只有一个根节点] JSON与T类型也可以相互转化. 新建控制台应用程序JsonToXmlToClassDemo,(. ...

  8. JavaScript解析XML,js解析xml字符串

    XMl 可扩展的文本标记语言,用来传输数据和保存数据 整个文档是一个文档节点 每个XMl标签是一个元素节点 包含在xml标签内的文本是文本节点 每个xml属性是一个属性节点 注释属于一个注释节点XML ...

  9. C++字符串类型和数字之间的转换

    C++字符串类型和数字之间的转换 转载:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html 1.字符串数字之间的转换 字符 ...

  10. Java 中,类、类对象、泛型之间的转换

    Java 中,类.类对象.泛型之间的转换 R 为非泛型 获得类 通过类型名来获得类 通过对象来获得类 通过类名字符串来获得类 通过类来获得类名字符串 通过类来获得对象 使用 R 的无参数构造器来创建对 ...

最新文章

  1. 大橙子_一颗橙子多甜多大,想要甜的还是酸的 您说了算
  2. Java的文件流操作
  3. 用C实现任意一年的日历
  4. 专为人工智能和数据科学而生的Go语言,或将取代Python
  5. 实战PHP数据结构基础之队列
  6. 求区间不同数的个数 树状数组||莫队算法
  7. MongoDB副本集学习(三):性能和优化相关
  8. sql 常见查询代码操作
  9. android wifi直连共享文件,让Android支持AD-hoc方式连WIFI(笔记本直接用WIFI共享给手机)的方法...
  10. 电商后台管理系统-权限管理模块
  11. 阿里云访问控制——OSS——STS
  12. matlab确定分段函数的间断点,分段函数必有间断点( )
  13. 忘了账号——如何查看本地mysql账号
  14. Excel如何永久去除“受保护视图”的打开提醒?
  15. 百趣代谢组学文献分享:三组学整合分析在中医药研究中的应用
  16. 【面经】Hibernate常见面试题
  17. 80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全
  18. Verilog HDL 语法整理 (一)
  19. JavaMail邮件系统中的addRecipient();和setRecipient();区别?
  20. makefile传字符串给c语言,makefile终极奥义

热门文章

  1. 计算机毕业设计 SpringBoot+Vue疫苗接种管理系统 预约接种疫苗管理系统 疫苗接种查询系统Java Vue MySQL数据库 远程调试 代码讲解
  2. php微信h5分享到朋友圈,H5页面在微信端的分享(分享到朋友圈,好友)
  3. hive入门及dbeaver连接hive
  4. 一步步教你如何定制一个Android「填空题」控件(仿学习强国填空题控件)
  5. 中国IT先行者-倪光南
  6. 计算机毕业设计Java个人事务管理系统(源码+系统+mysql数据库+Lw文档)
  7. 磁盘缓冲区和内存缓冲区
  8. Linux常用操作bash
  9. 电脑的文件夹选项在哪里?每次在文件夹下搜,又变成全电脑搜
  10. 【日常修机】打印机故障维护