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的使用区别的更多相关文章

  1. javascript中字符串格式json如何转化成json对象

    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于 ...

  2. JavaScript中字符串转Json方法小记

    例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JS ...

  3. JavaScript中String和JSON互换

    最简答的方式是: JSON.parse(obj) 将json对象解析为json字符串 JSON.stringify(str) 将json字符串转为json对象. 需要注意的是早期的IE浏览器是没有JS ...

  4. iOS中解析 XML / JSON

    JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...

  5. JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

    ECMAScript将对象的属性分为两种:数据属性和访问器属性.每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以 ...

  6. [转] JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

    ECMAScript将对象的属性分为两种:数据属性和访问器属性.每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以 ...

  7. Javascript中的undefined、null、""、0值和false的区别总结

    在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBN ...

  8. javascript 中解析json

    首先温习一下JSON格式: (1) 单个对象{"变量名1":"变量值1","变量名2":"变量值2"} (2) 数组[{ ...

  9. 关于json解析中 解析多重json对象

    JSONObject rst = {"AIS-RST":"AIS-00000001","AIS-STATUS":"AIS-0000 ...

随机推荐

  1. .NET Core 3.0之深入源码理解ObjectPool(二)

    写在前面 前文主要介绍了ObjectPool的一些理论基础,本文主要从源码角度理解Microsoft.Extensions.ObjectPool是如何实现的.下图为其三大核心组件图: 核心组件 Obj ...

  2. 入门了解Service Mesh + Istio?从本文开始

    下周六,深圳,阔别已久的线下技术沙龙要和你见面啦! 现场有Rancher Labs研发经理demo刚刚发布的Rancher 2.3中的Istio.Windows容器.集群模板等功能及使用,还有k3s首 ...

  3. 4、OGNL与值栈

    一.OGNL 1.什么是OGNL 对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression La ...

  4. 原来热加载如此简单,手动写一个 Java 热加载吧

    1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环 ...

  5. jhipster入门

    环境: 阿里云linux /////////////////////////////////////////////////////////////////////yum install java-1 ...

  6. video3

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. .Net Core DevOps - 四步实现Vue项目持续集成

    众所周知,现在国内最火的前端框架非Vue莫属了,作为一个.net程序员,早就想体验一下了,但是无奈微软的项目模板不提供Vue的Spa模板,但是我们还是想用怎么办呢?下面来看下我的解决方案 目录 用vu ...

  8. python基础-流程控制(if,while,for)

    今日内容总结 --流程控制(if,while,for) if:用来判断事物的对错.真假.是否执行.根据不同的情况判断,条件满足执行某条件下的语句 语法结构(3种) # 第一种,只有if结构.条件表达式 ...

  9. 在windows主机中,利用XSHELL生成“密钥”进行虚拟机与物理机的传输

    首先你要有虚拟机,其次你要可以互相ping通(主机与虚拟机) 接着你要有xshell 软件  没有的话可以点击链接下载 Xshell  6  提取码:cj5t 打开Xshell软件  在工具栏中选择“ ...

  10. python的位置参数、关键字参数、收集参数,关键字收集参数混合调用问题

    参数混合调用顺序用法: 函数中参数顺序为:普通参数,收集参数,关键字参数,关键字收集参数,其顺序不能颠倒,颠倒会报错. 普通参数.关键字参数可以有n个,对量没有具体要求,收集参数和关键字收集参数要么没 ...