1、JSON

JSON 包括 JSON 字符串和 JSON 对象。JSON 通常用于与服务端交换数据,在给服务器接收和发送数据时用的都是字符串,可以是 JSON 字符串或者一般的键值对字符串。把JavaScript对象转化为 JSON 对象用 JOSN.strigfy() 方法,可以使用 JSON.parse() 方法将接收到的数据转换为 JavaScript 对象。

JSON 文本的 MIME 类型是 "application/json"

2、JSON 字符串

JOSN字符串由单引号或者双引号引起来。

var person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串
alert(person);//{"name":"zhangsan","sex":"男","age":"24"}
alert(typeof person);//string

person就是一个json字符串,之所以叫json字符串,因为字符串的格式符合json的格式

3、JSON对象

JSON 对象只包含两个方法: 用于解析JSON字符串的 parse() 方法,以及将对象/值转换为 JSON字符串的 stringify() 方法。除了这两个方法,JSON这个对象本身并没有其他作用,也不能被调用或者作为构造函数调用。

3.1、JSON.parse()

JSON.parse() 方法将一个 JSON 字符串转换为对象,并返回该对象。若有回调函数作为第二个参数,则对转换后的对象的每个成员调用该函数,但是此时不返回该对象了,返回值为undefined。

JSON.parse(text, func);   //text:必需,JSON 字符串;  func: 可选,一个函数,将为对象的每个成员调用此函数。

示例:

var text = '{"aaa":[' + '{"name":"wen","site":"aaa" },' + '{"name":"hai","site":"bbb" }]}';
var obj = JSON.parse(text);
var str = obj.aaa[1].name + " " + obj.aaa[1].site;
console.log(str); //hai bbb

使用回调函数

var i = 0;
var obj = JSON.parse('{"1": a, "2": b, "3": 333}', function (k, v) {
i++
console.log(k,v,i,'--'); //1 a 1 -- 2 b 2 -- 3 333 3 -- '' {} 4 执行了四次,最后一个的属性值为空字符串 ""
});
console.log(obj); //undefined

3.2、JSON.stringify()

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。

JSON.stringify(value, func, space);  //value:JavaScript值,通常为对象或者数组; func:回调函数; space:指定一定数目的缩进空格

示例:

var str = { "name": "菜鸟教程"}
var str_pretty1 = JSON.stringify(str);
console.log(str_pretty1); //{"name":"菜鸟教程"}
str_pretty2 = JSON.stringify(str, null, 4) //使用四个空格缩进
console.log(str_pretty2);
//{
// "name": "菜鸟教程"
//}

教程:http://www.runoob.com/js/js-json.html

JSON对象及方法的更多相关文章

  1. js将json字符串转化成json对象的方法

    js将json字符串转化成json对象的方法: JSON.parse(jsonObject)

  2. SpringMVC 前端获得定义JSON对象的方法

    SpringMVC 前端获得定义JSON对象的方法: 可以使用map进行对象的创建,这样就会解析成键值对,不需要为前端专门定义对象.

  3. Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

    Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ v ...

  4. js 将json字符串转换为json对象的方法解析

    推荐: var obj = eval('(' + str + ')'); var last=JSON.stringify(obj); //将JSON对象转化为string字符 例如: JSON字符串: ...

  5. javaScript 将json字符串转换为json对象的方法解析

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

  6. Struts2返回JSON对象的方法总结

    如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择.而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好 ...

  7. json字符串转json对象的方法

    在使用$.ajax()方法时,我们可以设置dataType:'json'的参数,便可以拿到后台返回的json数据对应的json对象.但有时,我们拿到的是json字符串,需要将它再转成json对象来使用 ...

  8. (转)Struts2返回JSON对象的方法总结

    转自:http://kingxss.iteye.com/blog/1622455 如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选 ...

  9. js 将json字符串转换为json对象的方法解析-转

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

  10. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

随机推荐

  1. mybatis 绑定 statement 失败

    错误信息:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 问题原因:编译时没有将mapp ...

  2. noi.ac#228 book

    分析 代码 #include<bits/stdc++.h> using namespace std; #define int long long const int inf =1e18; ...

  3. Delphi中Tlist实例

    http://blog.163.com/jiandande3218@126/blog/static/74728469201132721428194/ Delphi中Tlist实例 2011-04-27 ...

  4. CET-6 分频周计划生词筛选(Week 3)

    点我阅读 Week 3 2016.09.11 p113 manipulate + propel p114 expedition + deficit p115 all p116 envisage p11 ...

  5. 爬虫(十一)—— XPath总结

    目录 XPath总结 一.何为XPath 二.XPath语法 1.语法 2.实例 三.XPath轴 1.XPath轴语法 2.XPath轴实例 四.XPath运算符 XPath总结 一.何为XPath ...

  6. vue手写轮播

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Webpack的使用指南-Webpack的常用解决方案

    说是解决方案实际上更像是webpack的插件索引. 写这一篇的目的是为了形成一个所以,将来要用时直接来查找即可. 1.自动构建HTML,可压缩空格,可给引用的js加版本号或随机数:html-webpa ...

  8. ubuntu下mysql定时备份

    一:ubuntu下自动备份mysql数据库 转载来源:https://jingyan.baidu.com/article/ab0b563097cabac15afa7dbc.html 1.创建保存备份文 ...

  9. hive拉链表以及退链例子笔记

    拉链表设计: 在企业中,由于有些流水表每日有几千万条记录,数据仓库保存5年数据的话很容易不堪重负,因此可以使用拉链表的算法来节省存储空间.  例子: -- 用户信息表; 采集当日全量数据存储到 (当日 ...

  10. [51nod 1766]树上的最远点对 (树的直径+ST表求lca+线段树)

    [51nod 1766]树上的最远点对 (树的直径+ST表求lca+线段树) 题面 给出一棵N个点的树,Q次询问一点编号在区间[l1,r1]内,另一点编号在区间[l2,r2]内的所有点对距离最大值.\ ...