Json初识总结
2017-09-19 16:47
555 查看
JSON(JavaScript Object Notation,JavaScript对象表示法),是Javascript的一个严格的子集,利用JavaScript中的一些模式来表示结构化数据。 **JSON只是一种数据格式**,不是一种编程语言。不从属于JavaScript.
1:语法
简单值:与js语法相同,可表示字符串,数值,布尔值和null。"Hello World!"
对象:无序的键值对
/** *没有声明变量(JSON中没有变量的概念),末尾没有分号。 *对象的属性必须加双引号。对象可嵌入对象 */ { "name":"wy", "age":18, "school":{ "name":"hust", "location":"wuhan" } }
数组:有序的值的列表
[{ "name":"wy", "age":18, "school":{ "name":"hust", "location":"wuhan" } } ]
数组和对象通常是JSON最外层形式,数组使用中括号,对象使用大括号。
2:解析与序列化
与XML数据结构要解析成DOM文档而且从中提取数据极为麻烦相比,JSON数据格式可以解析成有用的JS对象优势极其明显。 例如上面的对象保存到user变量中,获取name
/*例如上面的JSON对象保存到user变量中,js获取name*/ user[0].name /*DOM结构中查找*/ doc.getElementsByTagName("user")[0].getAttribute("name")
JSON对象有两个方法:
stringify()——把js对象序列化为JSON字符串
parse()——把JSON字符串解析为原生js
var user = { "name":"wy", "age":18, "school":{ "name":"hust", "location":"wuhan" } }; var jsonText = JSON.stringify(user); var userCopy = JSON.parse(jsonText); /*过滤*/ var jsonText = JSON.stringify(user,["name","age"]); /*根据属性名处理要序列化对象中的属性,返回undefined会删除该属性*/ var jsonText = JSON.stringify(user,function(key,value){ switch(key){ case "name": return test; case "age": return undefined; default: return value; } }); //第三个参数用于控制结果中的缩进和空白符。 var jsonText = JSON.stringify(user,null,4);
stringify()和parse()方法还能接收参数来完成过滤,缩进,还原等功能。具体可查。
相关文章推荐
- json知识点总结(解析与序列化)
- Json学习总结
- javascript中判断json的方法总结
- java 后台封装json数据学习总结(一)
- JS操作Json总结
- Json解析总结
- JS对JSON的操作总结 (转)
- AFNetworking 使用总结 (用法+JSON解析)
- 接口返回json的取值记录总结
- JSON使用的一些总结
- ASP.NET MVC 网站开发总结(六)——简谈Json的序列化与反序列化
- (转载)Newtonsoft.Json使用总结
- JS操作JSON总结
- Struts2返回JSON对象的方法总结
- 总结strut2如何返回json数据
- JSON学习总结
- Android总结之json解析(FastJson Gson 对比)
- Json初识
- JSON for java入门总结
- JSON使用的一些总结