前端之家收集整理的这篇文章主要介绍了
fastJson的Demo,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
import com.alibaba.fastjson.JSON@H_301_4@; @H_301_4@import com.alibaba.fastjson.JSONArray@H_301_4@import com.alibaba.fastjson.JSONObject@H_301_4@ @H_301_4@import java.util.ArrayList@H_301_4@import java.util.HashMap@H_301_4@import java.util.List@H_301_4@import java.util.Map@H_301_4@ //下面是FastJson的简介:常用的方法! // Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。 // public static final Object parse(String text); // 把文本parse为JSONObject或者JSONArray // public static final JSONObject parSEObject(String text); // 成JSONObject // public static final <T> T parSEObject(String text,Class<T> clazz); // JavaBean // public static final JSONArray parseArray(String text); // // public static final <T> List<T> parseArray(String text,Class<T> clazz); //JavaBean集合 // public static final String toJSONString(Object object); // 将序列化为文本 // public static final String toJSONString(Object object,boolean prettyFormat); // 序列化为带格式的// public static final Object toJSON(Object javaObject); 转换为JSONArray(和上面方法的区别是返回值是不一样的) // JSONObject 相当于Map<Obj,Obj> // JSONArray List<Obj> /** * 这是关于FastJson的一个使用Demo,在Java环境下验证的; * 使用的时候可以参照这个例子进行回忆! 备注:下面写的Json格式的数据"前面的\,意思是告诉编译器忽略掉它后面的。 后面定义有三个类:User、GroupWeibo @author liuzhao */ @H_301_4@public class Main3 {
@H_301_4@public static void main(String[] args) {
json2JsonObjectM1()@H_301_4@;Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 json2BeanM2()文本数据转换为数据! json2JSONArrayM3()json数据转化为JSONArray: json2JavaBeanM4()文本转换为的集合;转换为单纯的1个Object:parSEObject(String text,Class<T> clazz); bean2JsonM5()格式的数据/Json文本 用户数据的传递:例如上传服务器 bean2JSONObjectM6()对象 complexExampleM7()一个相对复杂的例子: complex2JsonM8()一个复杂的到的Demo complexMap2JsonM9()Map数据转换为JsonStringDemo;这个对RedBoy服务端不就直接破了嘛! }
将文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息 */ @H_301_4@private static void json2JsonObjectM1() {
System.out.println("@H_301_4@\njson2JsonObjectM1:")一个文本数据 String s = "{@H_301_4@\"name:liuzhao}"Json JSONObject object = JSON.parSEObject(s)利用键值对的方式获取到值 System.out.println(object.get("name"))@H_301_4@ 打印: * liuzhao */ }
文本数据转换为JavaBean数据! 需要注意的是:这时候的文本信息中的键的名称必须和中的字段名称一样!键中没有的在这个中就显示为null! json2BeanM2() {
System.json2BeanM2:")@H_301_4@ String s = id0375,city平顶山一个简单方便 的方法将文本信息转换为对象的同时转换为对象! Weibo weibo = JSON.parSEObject(s@H_301_4@,Weibo.@H_301_4@class)//Weibo类在下边定义 out.println(weibo.getId())@H_301_4@ System.out.println(weibo.getCity())打印的结果 0375 平顶山 }
Map类型的数据转换为JsonString complexMap2JsonM9() {
System.complexMap2JsonM9:")@H_301_4@ Group group = @H_301_4@new Group()@H_301_4@ group.setId(1)@H_301_4@ group.setName("group")@H_301_4@ User user1 = @H_301_4@new User()@H_301_4@ user1.setId(2)@H_301_4@ user1.setName("user1")@H_301_4@ User user2 = @H_301_4@ user2.setId(3)@H_301_4@ user2.setName("user2")@H_301_4@ group.getList().add(user1)@H_301_4@ group.getList().add(user2)@H_301_4@ Map<Integer301_4@new HashMap<Integer301_4@ map.put(1"No.1")2"No.2")3301_4@ String jsonString = JSON.toJSONString(map)out.println(jsonString)输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":"user2"}]} 由一个复杂的Object到的Demo complex2JsonM8() {
System.complex2JsonM8:")@H_301_4@ String jsonString = JSON.toJSONString(group){"id":1,"list":[{"id":2,"name":"user2"}],"name":"group"} 一个相对复杂的例子: * JSON文本数据: 首先是JSONObject,转换为JSONArray; 然后将转换为JavaBean complexExampleM7() {
System.complexExampleM7:")"{js:[{id:110000北#001京市},{id:#002}" + "," "{id:#006#005120000天#009津市}]}"@H_301_4@ JSONObject object = JSON.parSEObject(s)@H_301_4@ Object jsonArray = object.get("js")out.println(jsonArray.getClass().getName())@H_301_4@; 输出com.alibaba.fastjson.JSONArray System.out.println(jsonArray)@H_301_4@ List<Weibo> list = JSON.parseArray(jsonArray+""转化为List<Weibo> @H_301_4@for (Weibo weibo : list) {
System. }
}
JSON对象 bean2JSONObjectM6() {
System.bean2JSONObjectM6:")@H_301_4@ Weibo weibo = @H_301_4@new Weibo("0373""洛阳")@H_301_4@ JSONObject json = (JSONObject) JSON.toJSON(weibo)out.println(json.get("id"))* 0373 文本转换为的集合; 内部实现肯定是:首先转换为,然后再转换为List集合 json2JavaBeanM4() {
System.json2JavaBeanM4:")"[{0377南阳}]"@H_301_4@ List<Weibo> list = JSON.parseArray(s@H_301_4@ for (Weibo weibo : list) {
System. }
平顶山 南阳 json数据转化为JSONArray: 注意:获取到之后(我们这里只是获取到而不是集合) 获取中的数据转换为String类型需要在外边加""; json2JSONArrayM3() {
System.json2JSONArrayM3:") JSONArray array = JSON.parseArray(s)这行必须写:必须加上+"";不然会报出类型强转异常! String str = array.get(1)+out.println(array.get(0))@H_301_4@ JSONObject object = JSON.parSEObject(str) * {"city":"平顶山","id":"0375"} 0377 }
/Json文本 用户数据的传递:例如上传服务器 bean2JsonM5() {
System.bean2JsonM5:")"123456"上海 String string = JSON.toJSONString(weibo)out.println(string)* {"city":"上海 }
}
@H_301_4@class User{
@H_301_4@private int id@H_301_4@ private String name@H_301_4@ public int getId() {
@H_301_4@return }
@H_301_4@public void setId(@H_301_4@int id) {
@H_301_4@this.id = id@H_301_4@public String getName() {
setName(String name) {
name = name@H_301_4@ }
}
@H_301_4@class Group{
@H_301_4@ private List<User> list = @H_301_4@new ArrayList<User>()@H_301_4@public List<User> getList() {
listsetList(List<User> list) {
list = list@H_301_4@ }
}
@H_301_4@class Weibo {
@H_301_4@private String city@H_301_4@ public Weibo(String id301_4@ this.city = city@H_301_4@ }
@H_301_4@public Weibo() {
}
setId(String id) {
getCity() {
setCity(String city) {
@H_301_4@; }
}