json基础
来源:互联网 发布:模拟炒股软件 推荐 编辑:程序博客网 时间:2024/05/14 07:32
JavaScript Object Notation(JavaScript对象表示法),它是一种数据格式。
一、语法概要
1、json表示字符串时必须使用双引号。
2、js与json表示对象的差异(注意:json中要求给属性也加上双引号)如下:
jsvar person = { name:"kebe", age:23};json:{ "name":"kebe", "age":23}
比较以上代码可以发现有两个重要的差异:
首先,没有声明变量(json中没有变量的概念);
其次,没有末尾的分号。
属性的值可以是简单值,也可以是复杂值:如下所示:
{ "name":"kobe", "age":23, "school":{ "name":"central School!", "addr":"qinghualu" }}3、数组(javaScript中的数组字面量),对比如下:
js:var value = [24,"hi",true];json:[24,"hi",true]同样的,json数组中也没有变量和分号;同时,我们可以发现:当我们将与前面的组合起来,能够表示更复杂的数据组合:
[ { "name":"xiaohong", "age":12 }, { "name":"xinao", "age":23 }, { "name":"xifei", "age":32 }]
二、json对象
早期,我们基本上都是使用eval()函数;ECMAScript5对解析json的行为作了规范,定义了全局对象JSON。至于老的浏览器可以选择https://github.com/douglascrockford/JSON-js瞧瞧。
JSON对象有两个方法:
stringify()和parse()。例子如下:
var book={ name:"json", author:"zhangsan"};var jsonText = JSON.stringify(book);序列化js对象时,所有函数即原型成员都会被有意忽略,不体现在结果中。值为undefined的任何属性也都会被跳过。
json--->js:
var bookCopy = JSON.parse(jsonText);如果JSON.parse()的字符串不是有效的json,该方法会抛出错误。
详细介绍:
stringify()方法还可接收两个参数。
第一个参数是个过滤器,可以是一个数组,也可以是一个函数;
第二个参数是一个选项,表示是否在JSON字符串中保留缩进。
1、过滤
如果过滤器参数为数组,其结果中将只包含数组中列出的属性。如下:
var book={ "title":"js高级程序设计", "authors":["authorA","authorB"], edition:3, year:2011};var jsonText = JSON.stringify(book,["title","year"]);
2、如果传入的第二个参数时函数。
传入的函数接收两个参数,属性(key)名和属性值。
....
0 0
- JSON 基础
- JSON 基础
- JSON基础
- Json基础
- JSON基础
- json 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON 基础
- json基础
- json基础
- JAVA 利用反射机制查询数据库返回相应对象
- startActivityForResult用法详解
- Android使用SurfaceView实现墨迹天气的风车效果
- BITACM 1044 A^B mod C
- 日期对象
- json基础
- emeditor注册码
- lex和yacc
- hdu 4309 状压枚举+最大流
- lex和yacc例子
- Java中Properties类的使用
- SQLITE3 使用总结
- poj 3187
- BITACM 1045 A^B mod C v2.0