你不可不知的JSON
来源:互联网 发布:大富豪3.4.1最新源码 编辑:程序博客网 时间:2024/04/29 19:33
JSON介绍
XML——这种用于表示客户端与服务器间数据交换有效负载的格式,几乎已经成了Web services的同义词。我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。
JSON 作为一种更轻、更友好的 Web services客户端的格式(多采用浏览器的形式或访问 REST风格 Web服务的Ajax应用程序的形式)引起了 Web 服务供应商的注意。通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解析和渲染这些XML格式的数据。JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。
本文将阐述JSON在Web services设计中备受推崇的原因,以及它作为XML替代方案的主要优势和局限性。文中还会深入探讨:随着相应的Web 服务客户端选择使用JSON,如何才能便捷地在Java Web services中生成JSON输出。
JSON的优点
- 轻量级的数据交换格式
- 人们读写更加容易
- 易于机器的解析和生成
- 能够通过JavaScript中eval()函数解析JSON
- JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.
对象:对象包含再{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。 string : value
数组:数组存放再[]之间 [ elements ]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null
json的官方文档:http://www.json.org/json-zh.html
json在线校验:http://www.bejson.com/
JSON格式
1. 对于类似{“a":"a1","b":"b1"}这样的键值对,外边一定要使用{}大括号,不能使用[]中括号,多个之间使用,逗号分隔。
2. 对于["1","2"]这类型的数组样式,外边一定使用[]中括号,不能使用{}大括号,多个之间使用,逗号分隔。
只要将上面两条规则记住,再复杂的JSON数据都能看懂,再复杂的JSON格式也能拼接了。JSON例子
{ "menu": { "id": "file", "value": "File:", "popup": { "menuitem": [ { "value": "New", "onclick": "CreateNewDoc()" }, { "value": "Open", "onclick": "OpenDoc()" }, { "value": "Close", "onclick": "CloseDoc()" } ] } }}
C#中使用JSON
参考 JSON.NET框架实现C#对象和JSON字符串的转换:http://blog.csdn.net/ful1021/article/details/38657049
- 你不可不知的JSON
- 你不可不知的 JSON 基本介紹
- 不可不知的json库
- java中你不可不知的问题
- 你不可不知的美丽含义
- MicroSoft编译器你不可不知的秘密
- 对于Python,你不可不知的东西
- MicroSoft编译器你不可不知的秘密
- 你不可不知的Git常用命令
- 你不可不知的HTML优化技巧
- 你不可不知的Eclipse快捷键
- 你不可不知的 HTML 优化技巧
- 你不可不知的HTML优化技巧
- 你不可不知的HTML优化技巧
- 你不可不知的HTML优化技巧
- 你不可不知的HTML优化技巧
- 你不可不知的HTML优化技巧
- 深度学习你不可不知的技巧
- 机房收费系统之无效使用Null值
- 贝叶斯后验定理与预测(信号与噪声读书笔记)
- 编程艺术五 HASH表 0-1背包
- linux下编译器gcc/g++编译步骤
- maven Error occurred during initialization of VM
- 你不可不知的JSON
- java代码 解析EXCEL(六)
- HDU 1325 Is It A Tree?
- 读取相册的方向值
- GetTextMetrics 和 GetTextExtent用法的区别
- 1429 胜利大逃亡( 续 ) hdu
- Win32中禁止窗口调整大小()
- eclipse spring和Hibernate插件安装
- memcpy和bcopy区别