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. leetcode 122. 买卖股票的最佳时机 II (python)

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  2. Dapper(一) 简介和性能

    Dapper的简介 Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.Dapper只有一个代码文件,完全开源,你 ...

  3. 【ABAP系列】SAP ABAP 如何控制Dialog中的键盘(回车)功能

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 如何控制Dia ...

  4. 阅读笔记06-架构师必备最全SQL优化方案(2)

    四.基础优化 1.优化思路? 定位问题点吮吸:硬件-->系统-->应用-->数据库-->架构(高可用.读写分离.分库分表). 处理方向:明确优化目标.性能和安全的折中.防患未然 ...

  5. AtCoder ABC 140D Face Produces Unhappiness

    题目链接:https://atcoder.jp/contests/abc140/tasks/abc140_d 题目大意 有一对 N 个人, 用字符串 S 表示, S[i] 如果等于 'L' 说明这个人 ...

  6. Ural Amount of Degrees(数位dp)

    传送门 Amount of Degrees Time limit: 1.0 secondMemory limit: 64 MB Description Create a code to determi ...

  7. _groovy

    _groovy与beanshell类似,只是它执行的是apache groovy脚本,并返回结果. 如果定义了属性 “groovy.utilities”,属性将会被脚本引擎加载,这样就可以定义一些通用 ...

  8. 基于Zookeeper实现客户端动态监听服务器上下线

    一.在具体实现之前,先来了解一下Zookeeper的监听器的原理: 图中Main()线程作为客户端,当在主线程中创建Zookeeper客户端时,会默认创建两个子线程:Listener和connect, ...

  9. asp.net 连续打印多份HTML页面,出现漏字

    在IE8上打印的内容用了CSS 样式,连续打印多份导致的 可以通过改变CSS样式或更换浏览器解决

  10. 同步按照NewTable中ID存储情况将数据按照规则同步至OldTable,并清空OldTable中多余数据行,返回错误消息

    public string UpdateDataAdapter(DataTable tab) { if (sda == null) return "DataAdapter还未初始化,请调用G ...