一、JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
JSON语法规则:1、数据在名称/值对中JSON 名称/值对;2、数据由逗号分隔;3、花括号保存对象;4、 方括号保存数组。
JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:例:firstName="John"。
详细介绍:
1、官方网站:http://www.json.org/json-zh.html(中文介绍)
2、百度百科:http://baike.baidu.com/link?url=tnPbFRKNPsQiYFXHESb3Xo05mGGS1hWVijFQgN1aIiyjOCgNtZ19gLR4H6TCUPkI
二、 JSON与Java对象间的转化
转化功能的实现有不少开源jar包可以使用,这里以google-gson为例。Gson支持深层次嵌套的复杂对象与Json串之间的转化,而且支持泛型。非常地简单易用,在大多数情况下,只需要先创建个Gson对象,再调
用
Gson对象实例的toJson()方法或者fromJson()方法就可以实现对象与Json之间的转化。
例:
public class SimpleBean { private String a; public int b; protected long c; public SimpleBean(){ this.a = "a"; this.b = 1; this.c = 11; } public static void main(String[] args) { Gson gson = new Gson(); //对象转json串 SimpleBean bean = new SimpleBean(); String json = gson.toJson(bean); System.out.println(json); //json串转对象 String s = "{\"a\":\"aa\",\"b\":2,\"c\":22}"; SimpleBean sBean = gson.fromJson(s, SimpleBean.class); System.out.println(sBean); } @Override public String toString() { return "SimpleBean [a=" + a + ", b=" + b + ", c=" + c + "]"; } }
这里只是个简单示例,也是最常用的情况,Gson包的更多功能使用可以参考:
三、JSON在数据交互中的使用
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
四、JSON校验格式化工具
Json串相对于xml的可读性要差一些,在Json串很长的时候,此时往往容易出错而难以发现,这里可以使用在线Json校验格式化工具:
http://www.ij2ee.com/bejson/bejson.html进行校验,格式错误时会进行提示。