JavaScript中解析JSON --- json.js 、 json2.js 以及 json3.js的使用区别
JSON官方(http://www.json.org/)提供了一个json.js,json.js是JSON官方提供的在JavaScript中解析JSON的js包,json.js、json2.js、json3.js是从旧到新的三个版本,现在一般使用json3.js。
JSON 3是与各种JavaScript平台兼容的现代JSON实现,包括Internet Explorer 6,Opera 7,Safari 2和Netscape 6.当前版本是3.3.2。
可以在 https://bestiejs.github.io/json3/ 获取到这个js. 现在一般用json3.js
json3.js本地下载地址:http://download.csdn.net/download/chenchunlin526/10170731
使用方法:
使用该js包,需要在页面引入json3.js文件
JSON.parse(jsonstr); //可以将JSON字符串反序列化成JSON对象
JSON.stringify(jsonobj); //可以将JSON对象序列化成JSON对符串
① JSON.parse(jsonstr); //可以将JSON字符串反序列化成JSON对象
举例:
程序清单3:
$(document).ready(function(){
var data = '[{"name":"chunlynn","age": 27,"qq":"277539687"},
{"name":"linda" ,"age": ,"qq":""}]'; //同上放在一行
var jsondata = JSON.parse(data);
console.info(jsondata);
console.info("姓名:"+jsondata[].name);
console.info("年龄:"+jsondata[].age);
console.info("qq:"+jsondata[].qq);
console.info("qq:"+jsondata[]["qq"]);
console.info(jsondata instanceof Array); //true
console.info("jsondata[0]的JS类型: "+ typeof jsondata[]);
console.info("age的JS类型: "+ typeof jsondata[].age); //number
console.info("qq的JS类型: "+ typeof jsondata[].qq); //string
});
结果:


② JSON.stringify(jsonobj); //可以将JSON对象序列化成JSON对符串
程序清单4:
$(document).ready(function(){
// JS对象,数组对象
var data = [{"name":"chunlynn","age":,"qq":""},
{"name":"linda" ,"age":,"qq":""}]; //同上行放在一行
console.info("data的JS类型: "+ typeof data);
var jsondata = JSON.stringify(data); //将JSON对象序列化为JSON字符串
console.info(jsondata);
console.info("jsondata的JS类型: "+ typeof jsondata);
});

更多的使用方法如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html> <head>
<script src="https://cdn.bootcss.com/json3/3.3.2/json3.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.11.2/jquery.js"></script>
</head> <body>
<script type="text/javascript">
$(document).ready(function(){ //双引号转义
//var data = "[{\"name\":\"chunlynn\",\"age\": 27,\"qq\":\"277539687\"},{"name":"linda","age":25,"qq":"556677"}]"; //单引号放在最外面,就不用转义了
var data = '[{"name":"chunlynn","age":27,"qq":"277539687"},{"name":"linda" ,"age":25,"qq":"556677"}]'; var jsondata = JSON.parse(data);
console.info(jsondata);
console.info("姓名:"+jsondata[].name);
console.info("年龄:"+jsondata[].age);
console.info("qq:"+jsondata[].qq);
console.info(jsondata instanceof Array); console.info("jsondata[0]的JS类型: "+ typeof jsondata[]);
console.info("age的JS类型: "+ typeof jsondata[].age);
console.info("qq的JS类型: "+ typeof jsondata[].qq);
var jsondata2 = JSON.parse(data, function (key, value) {
if (typeof value == "number") {
value = value+;
} return value; }); console.info("姓名2:"+jsondata2[].name);
console.info("年龄2:"+jsondata2[].age);
console.info("qq2:"+jsondata2[].qq); }); </script>
</body>
</html>
结果:

资源下载:
【1】json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】-CSDN下载
http://download.csdn.net/download/chenchunlin526/10170731
更多的关于JavaScript中解析JSON的方法请参考如下博文:
【1】JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解
http://blog.csdn.net/chenchunlin526/article/details/78850924
相信很多人在刚接触前端或者中期时候总会遇到一些问题及瓶颈期,如学了一段时间没有方向感或者坚持不下去一个人学习枯燥乏味有问题也不知道怎么解决,对此我整理了一些资料 喜欢我的文章想与更多资深大牛一起讨论和学习的话 欢迎加入我的学习交流群907694362
JavaScript中解析JSON --- json.js 、 json2.js 以及 json3.js的使用区别的更多相关文章
- javascript中字符串格式json如何转化成json对象
什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...
- JavaScript中字符串转Json方法小记
例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JS ...
- JavaScript中String和JSON互换
最简答的方式是: JSON.parse(obj) 将json对象解析为json字符串 JSON.stringify(str) 将json字符串转为json对象. 需要注意的是早期的IE浏览器是没有JS ...
- iOS中解析 XML / JSON
JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...
- JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别
ECMAScript将对象的属性分为两种:数据属性和访问器属性.每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以 ...
- [转] JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别
ECMAScript将对象的属性分为两种:数据属性和访问器属性.每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以 ...
- Javascript中的undefined、null、""、0值和false的区别总结
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBN ...
- javascript 中解析json
首先温习一下JSON格式: (1) 单个对象{"变量名1":"变量值1","变量名2":"变量值2"} (2) 数组[{ ...
- 关于json解析中 解析多重json对象
JSONObject rst = {"AIS-RST":"AIS-00000001","AIS-STATUS":"AIS-0000 ...
随机推荐
- php后端开发要学什么
PHP历史: 1994年创建,1995年对外发表第一个版本,名为:personal home page tools,之后发表PHP1.0.1995年中期,PHP2.0,从此建立了PHP在动态网站开发的 ...
- PHP代码审计基础-高级篇
高级篇主要讲 1. 熟知各个开源框架历史版本漏洞. 2. 业务逻辑漏洞 3. 多线程引发的漏洞 4. 事务锁引发的漏洞 在高级篇审计中有很多漏洞正常情况下是不存在的只有在特殊情况下才有 PHP常用框架 ...
- prefer-object-spread
eslint报错: Use an object spread instead of `Object.assign` eg: `{ ...foo }`.(prefer-object-spread) 即: ...
- 达孚电子(NDF)参加2019年印度电子元器件展圆满成功
2019年9月27日-29日,达孚电子(NDF)参加2019年印度国际电子元器件及生产设备展览会在印度国际展览中心举得圆满成功,为期三天的展会中,打造了一场电子元器件行业交流的饕餮盛宴. 本次展会取得 ...
- Python 命令行之旅:使用 docopt 实现 git 命令
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- MyBatis 概念
简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...
- 收藏收藏:时隔一年,你关注的打造一个实用的TXT文本操作及日志框架,我们开源了,不再为程序写日志发愁(也支持.net core哦)
记得做这个框架是在2018年刚接触.net core的时候,那个时候为了能够专心的研究我开始不写博客了,但是学有所成并在公司运用了近一年的时间了,决定回来和各位分享我们所掌握的那星星点点的知识,希望可 ...
- new Date插入mysql数据库时多了一秒
在使用new Date() 插入数据库时,查询出来比实际多了一秒,mysql 表字段设置为datetime类型,当时间精确到秒时,如果毫秒大于500时,会自动进位. 解决方法为格式化后再插入数据库.
- 我是如何在一周内拿到4份offer的?
前言 大概一个月没写博客了吧,这段时间事情比较多(家里有事,请了一段时间假,正好利用剩余几天时间面了几次试),也没抽出来时间写博客,还好所有的事情已经处理完了,今天闲来无事就整理一下这几次面试过程中遇 ...
- 转:redis-cli 命令总结
redis-cli常用命令,原文地址:https://maoxian.de/2015/08/1342.html Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些comm ...