1、什么是JSON?

  JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

  JSON 是轻量级的文本数据交换格式

2、JSON语法是JavaScript对象表示法语法的子集

  数据以“名称:值方”式存储(如:{"userName" : "John"})

  数据有逗号分隔(如:{ "firstName":"John" , "lastName":"Doe" })

  花括号保存对象(如:{"userName" : "John"})

  方括号保存数组(如:[{ "firstName":"John"  },{ "firstName":"Anna" },{ "firstName":"Peter" }])

3、JSON值可以是

  数字(整数或浮点数)、字符串、逻辑值(true或false)、数组、对象、null

4、JSON输出

  • 定义JSON对象

    var jsonStr = {"name":"Lanny","age":"25","location":"China"};

    alert(jsonStr.name); //输出结果Lanny

  • 定义JSON数组

    var jsonArr = [{"name":"john1"},{"name":"john1"},{"name":"john1"}];

    alert(jsonArr[0].name);//输出结果john1

  • 定义JSON字符串对象

    var jsonStr = "{\"name\":\"Lanny\",\"age\":\"25\",\"location\":\"China\"}";

    var obj = eval('(' + jsonStr + ')');//JSON字符串转换为JSON对象

    //var obj = JSON.parse(jsonStr);//JSON字符串转换为JSON对象

    alert(obj.name);//输出Lancy

  • 定义JSON字符串数组

    var jsonArr = "[{\"name\":\"john1\"},{\"name\":\"john1\"},{\"name\":\"john1\"}]";

    var obj = eval('(' + jsonArr + ')');//JSON字符串转换为JSON数组

    //var obj = JSON.parse(jsonArr);//JSON字符串转换为JSON数组

    alert(obj[0].name);

5、JSON字符串转换为JSON对象

    var jsonStr = "{\"name\":\"Lanny\",\"age\":\"25\",\"location\":\"China\"}";

      1)var obj = eval('(' + jsonStr + ')');//js原生方法

        alert(obj.name);//输出Lanny

      2)var obj = jQuery.parseJSON(jsonStr);//需要引入jQuery包

      3)var obj = JSON.parse(jsonStr );

        alert(obj.name);//输出Lanny

6、JSON对象转换为JSON字符串

    方法一:

    var obj = {"name":"Lanny","age":"25","location":"China"};

    alert(obj);//输出[object Object]

     var last=JSON.stringify(obj);//js原生方法

       alert(objStr);//输出{"name":"Lanny","age":"25","location":"China"}

    方法二:

    var objStr=obj.toJSONString();//需要引入json2.js包

留心:

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

7、添加数据

  • 向JSON对象中添加数据

    var jsonObj = {"name":"Lanny","age":"25","location":"China"};

    jsonObj.email = "123@qq.com";

    alert(jsonObj.email);//输出123@qq.com

  • 向JSON数组中添加数据

    var jsonArr = [{"name":"john1"},{"name":"john2"},{"name":"john3"}];

    var obj = {"name":"john4"};

    jsonArr.push(obj);

    alert(jsonArr[3].name);//输出john4

js中的json的更多相关文章

  1. MVC中处理Json和JS中处理Json对象

    MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了 ...

  2. js中的json对象详细介绍

    JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Ob ...

  3. 在js中使用json

    在js中使用json var obj = {     "1" : "value1",     "2" : "value2" ...

  4. js中 给json对象添加属性和json数组添加元素

    js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre.做法如下: var obj={ &quo ...

  5. js中的json操作

    js中的json操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScr ...

  6. 【转】MVC中处理Json和JS中处理Json对象

    事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了. MVC中: public JsonResult Test() { JsonResult json = new ...

  7. 关于JS中的JSON

    早期,一般是使用XML作为互联网上传输结构化数据的,但由于它解析麻烦,字符冗长,因此被轻量级的JSON所逐渐替代.JSON是JavaScript的一个严格子集,利用了JavaScript中一些模式来表 ...

  8. js中把JSON字符串转换成JSON对象最好的方法

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...

  9. Js中把JSON字符串转换为JSON对象(eval()、new Function())

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...

  10. js 中读取JSON的方法探讨

    方法一:函数构造定义法返回 var strJSON = "{name:'json name'}";  //得到的JSONvar obj = new Function("r ...

随机推荐

  1. IOS - CORE DATA的目录(xcode6)

       当使用coredata作为app的后台数据存储介质后,我们很想知道数据是否成功插入.为此,我想找到coredata.sqlite的文件 代码中指定的存储目录为: - (NSURL *)appli ...

  2. JZOJ P1817:[8.27]研究性学习作业

    传送门 老师良心推荐的二分题.7月29号第一次写,想到了裸的DP,乱搞搞过了6组,欲优化,无解,弃疗. 然后今天老师给了题解,简单看了一下. 正解是二分答案+DP验证. 二分天数$day$,然后对于每 ...

  3. 深入JVM-Class装载系统

    一.Class文件的装载过程 Class类型通常以文件的形式存在(当然,任何二进制流都可以是Class类型),只有被Java虚拟机装载的Class类型才能在程序中使用.系统状态Class类型可以分为加 ...

  4. Java——jar命令

    把*.class压缩成一个文件,这样的文件就称为jar文件. 如果想要生成jar文件,直接使用JDK中bin目录里的jar.exe就可以将所有的类文件进行压缩. 当用户得到一个jar文件后,即可通过设 ...

  5. WEB开发基本知识

    参考文献:http://www.cnblogs.com/xdp-gacl/p/3729033.html 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示I ...

  6. AssetBundle in Unity 5.0

    http://forum.unity3d.com/threads/new-assetbundle-build-system-in-unity-5-0.293975/

  7. C# 6.0可能的新特性

    C# 6.0可能的新特性 1.主构造函数(Primary Constructors) 主构造函数给类中的变量赋值 Before public class Point { private int x, ...

  8. Google Guava14.0 瓜娃学习笔记

    Guava 是java api的增强与扩展,提供复杂的java 数据结构,使你的代码更简短精炼,具有良好的可读性.看看guava给我们提供了哪些很酷的功能: 集合创建: Map<String, ...

  9. [Unity] 查找资源

    有时候需要通过代码来为对象指定一个资源.可以通过下面的函数来查找资源. /// <summary> /// 查找资源 /// </summary> /// <return ...

  10. Haproxy安装配置及日志输出问题

    简介: 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载 ...