Json是一种轻量级的数据交换模式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据的过程中常常被使用,是一种理想的数据交换语言。
一、json的形式
json的形式分为json对象、json字符串、json对象数组;
json对象:
{
"id":123,
"name":二月红,
"age":20
}
json对象数组:
[
{ "id":123,"name":二月红,"age":20 },
{ "id":124,"name":三月蓝,"age":20 },
{ "id":125,"name":四月橙,"age":20 },
{ "id":126,"name":五月紫,"age":20 }
]
json字符串:
1.包裹json对象的json字符串
“
{
"id":123,
"name":二月红,
"age":20
}
”
2.包括json对象数组的json字符串
“
[
{ "id":123,"name":二月红,"age":20 },
{ "id":124,"name":三月蓝,"age":20 },
{ "id":125,"name":四月橙,"age":20 },
{ "id":126,"name":五月紫,"age":20 }
]
”
3.包括json对象数组与json对象的json字符串
“{
"name":秦始皇,
"age":万岁,
"heeler":{
"list":[
{ "id":123,"name":二月红,"age":20 },
{ "id":124,"name":三月蓝,"age":20 },
{ "id":125,"name":四月橙,"age":20 },
{ "id":126,"name":五月紫,"age":20 } ]
}
}”
二、fastJson的使用
fastJson是阿里巴巴开发的一款专门用于java开发的包,可以方便的实现json对象与javaBean对象的转换,实现javaBean对象与json字符串的转换,实现json对象与json字符串的转换。
fastJson常用的API:fastJson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。
举个例子:
//将JSON文本转换为java对象
import com.alibaba.fastjson.JSON
Model model=JSON.parseObject(jsonString,Model.class);
三、关于JSONArray与JSONObject的类库
JSONArray相当于List
JSONObject相当于Map<String,Object>