js中的json
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的更多相关文章
- MVC中处理Json和JS中处理Json对象
MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了 ...
- js中的json对象详细介绍
JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Ob ...
- 在js中使用json
在js中使用json var obj = { "1" : "value1", "2" : "value2" ...
- js中 给json对象添加属性和json数组添加元素
js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre.做法如下: var obj={ &quo ...
- js中的json操作
js中的json操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScr ...
- 【转】MVC中处理Json和JS中处理Json对象
事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了. MVC中: public JsonResult Test() { JsonResult json = new ...
- 关于JS中的JSON
早期,一般是使用XML作为互联网上传输结构化数据的,但由于它解析麻烦,字符冗长,因此被轻量级的JSON所逐渐替代.JSON是JavaScript的一个严格子集,利用了JavaScript中一些模式来表 ...
- js中把JSON字符串转换成JSON对象最好的方法
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- Js中把JSON字符串转换为JSON对象(eval()、new Function())
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 第一种解析方式:使用eval函数来解析,并且使用j ...
- js 中读取JSON的方法探讨
方法一:函数构造定义法返回 var strJSON = "{name:'json name'}"; //得到的JSONvar obj = new Function("r ...
随机推荐
- PHP之:析构函数
如何正确理解PHP析构函数 参考文献:http://developer.51cto.com/art/200912/167023.htm 初次学习PHP语言的朋友们可能对PHP析构函数有些不太了解.我们 ...
- Unable to execute dex: java.nio.BufferOverflowException.解决办法
异常提示: [2014-01-16 09:27:35 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Ch ...
- Python基本数据类型之int
一.int的范围 2.7: 32位:-2^31~2^31-1 64位:-2^63~2^63-1 3.5: 在3.5中init长度理论上是无限的 二.python内存机制 在一般情况下当变量被赋值后,内 ...
- 生活中的MVC模式,一个吃货的理解。
以下是生活中对于MVC模式的领悟,虽然可笑,轻喷. 2015年 8月 26日 M => Model 模型 我认为叫做模具更好的理解.批量加工生产具有相同特征的东西. ...
- Vector & ArrayList 的主要区别
1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的 数2. 2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayLis ...
- java8 中的时间和数据的变化
java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整, Stream 有几个常用函数: store 排序 (a,b)-> a.compareTo(b) 排出来的结果是正 ...
- 支持向量机(SVM)入门
一.简介 支持向量机,一种监督学习方法,因其英文名为support vector machine,故一般简称SVM. 通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器, ...
- Jquery实现textarea根据文本内容自适应高度
本文给大家分享的是Jquery实现textarea根据文本内容自适应高度,这些在平时的项目中挺实用的,所以抽空封装了一个文本框根据输入内容自适应高度的插件,这里推荐给小伙伴们. autoTextare ...
- ecshop新增一个编辑器
在ecshop的后台新增一个编辑器框 步骤一:找到lib_main.php 文件:admin/includes/lib_main.php. 找到变量:function create_html_edit ...
- SmartUpLoad自动上传包
一枚默默的开发学习者 用以下代码生成文件名即可 1 package info.haowei.util; 2 3 import java.text.SimpleDateFormat; 4 import ...