介绍
Fastjson是阿里巴巴公司用java语言编写的json 的编辑解析器,个人感觉非常好用。
官方网址:http://code.alibabatech.com/wiki/display/FastJSON/Home.
可以在此网站与开发人员交流和查看更新。下载地址:http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/
号称速度最快的json解析:数据如下,
我也没测过,不知真假。
简要谈谈Json
Json全称JavaScript Object Notation,是基于javascript的一个子集,是一种完全独立语言的格式。它能迅速的取代XML成为最受人欢迎的格式还是有它的原因的。我们自己读Json要从大局观着手,有点耐心,先了解结构。
看看这个例子:
{
"name":"中国",
"province":[
{
"name":"黑龙江",
"cities":{
"city":["哈尔滨","大庆"]
}
},
{
"name":"广东",
"cities":{
"city":["广州","深圳","珠海"]
}
},
{
"name":"台湾",
"cities":{
"city":["台北","高雄"]
}
},
]
}
对于稍微是中国一点的人来说,这个例子很好懂,转化到Json,那么Json结构主要是两部分:
1,映射:映射就是冒号那种形式,如-->"name":"中国",
2,序列:就是并列存在的province里面的大括号是并列的,city里面 的城市也是并列的。映射到程序里相当于数组。
很多人说json就是键值对,很准确,更准确的是键值对套键值对,通常叫key-value对。
Key只能是string类型的,例如上面的name,city,province。
但是,value类型有很多,从简单到复杂:
A: 基本类型(int,long,String).
B: 对象类型:对应程序将就是大括号,属于自定义的部分,里面还是Json类型。
C:序列类型:对应程序就是中括号,比如city后面的。。里面的属性是value类型,还可以套Json。
总的讲,写一个Json写无数的键值对拼接起来。
代码示例
Fastjson就是通过上面对json 的看法,将json的每个value对都映射到java对象中,达到转化的目的。
代码讲解
生成Json
Fastjson是通过java对象来产生json的,我们来一步一步分析这个java对象是怎么产生的。1,最外层大括号
指一个对象,包含String 属性的 name和province属性的 province,province后面接的是一个中括号,那么这是一个array对象,我们把它定为 List<Province>province;2,容我懒惰,以此类推
在对象Province中的city是一个数组: String[] city, 当然写成list也没有关系。
@H_502_212@
- importjava.util.List;
- publicclassChina{
- privateStringname;
- privateList<Province>province;
- publicStringgetName(){
- returnname;
- }
- voidsetName(Stringname){
- this.name=name;
- publicList<Province>getProvince(){
- returnprovince;
- voidsetProvince(List<Province>province){
- this.province=province;
- }