博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
j2ee编程实现将数据变成json格式的高效转换工具fastJson
阅读量:4090 次
发布时间:2019-05-25

本文共 2808 字,大约阅读时间需要 9 分钟。

fastjson是一个性能很好的 Java语言实现的 JSON解析器和生成器,来自阿里巴巴的工程师开发。(只需要将该jar文件引入到项目中,即可通过JSON作为使用fastJson各个方法的使用入口

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。(JSONObject即json对象)

public static final Object parse(String text); // 把JSON文本parse为json对象或者JSONArray public static final JSONObject parseObject(String text);//把JSON文本parse成json对象public static final 
T parseObject(String text, Class
clazz); //把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final 
List
parseArray(String text, Class
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转换为json对象或者JSONArray。
注意:

SerializeWriter:相当于StringBuffer

JSONArray:相当于List<Object>

JSONObject:相当于Map<String, Object>(JSON对象就相当于Map集合)

JSON反序列化没有真正数组,本质类型都是List<Object>

fastjson其实还有很多很高级的特性,比如支持注解、支持全类型序列化,这些都是很好的特性,功能十分强大,大家可以自行研究使用一下,至于fastjson与Jackson到底谁好,大家可以自行比较研究一番

下面是我练习时的部分小例子:

import com.alibaba.fastjson.JSON;/** * 练习使用阿里巴巴的fastJson * @author Administrator */public class FJDemo {	public static void main(String[] args){		String name="於之";		String sex="男";		String age="20";		String clazz="网络2班";//班级		Student stu=new Student();		stu.setName(name);		stu.setSex(sex);		stu.setAge(age);		stu.setClazz(clazz);		//		//javaBeanToJson(stu);		jsonToJavaBean("{'age':'20','clazz':'网络2班','name':'於之','sex':'男'}");//key值必须要和javabean对象的成员变量一一对应				//将json数据格式的字符串转为json对象,js中是通过eval()函数完成的。		JSON json=JSON.parseObject("{'age':'20','clazz':'网络2班','name':'於之','sex':'男'}");	}	//JavaBean对象序列化为json格式的数据	public static void javaBeanToJson(Object obj){		String str="";		str=JSON.toJSONString(obj);//参数为javabean对象   返回json格式的数据		System.out.println(str);	}	//json格式数据反序列化为javabean对象	public static void jsonToJavaBean(String json){		Student stu=JSON.parseObject(json, Student.class);		System.out.println("转换之后javabean的成员变量的值:");		System.out.println(stu.getAge());		System.out.println(stu.getClazz());		System.out.println(stu.getName());		System.out.println(stu.getSex());	}}//javabean对象class Student{	private String name;	private String sex;	private String age;	private String clazz;//班级	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getSex() {		return sex;	}	public void setSex(String sex) {		this.sex = sex;	}	public String getAge() {		return age;	}	public void setAge(String age) {		this.age = age;	}	public String getClazz() {		return clazz;	}	public void setClazz(String clazz) {		this.clazz = clazz;	}	}

转载地址:http://uscii.baihongyu.com/

你可能感兴趣的文章
Mutex的使用
查看>>
WPF 利用HwndSource拦截Windows消息
查看>>
Gradle初次使用
查看>>
JDK-Integer源码解读
查看>>
JDK-String源码解读
查看>>
工具集合
查看>>
关于工作中的一些问题的思考
查看>>
selenuim配置
查看>>
工作记录
查看>>
单例设计模式
查看>>
浅谈自己对于spring aop的理解
查看>>
java多线程之锁
查看>>
java多线程之原子类
查看>>
Java中的并发工具类
查看>>
我的书单
查看>>
java内存模型
查看>>
Java ThreadLocal 源码解读
查看>>
Java HashMap源码解读
查看>>
Java ArrayList 源码解读
查看>>
Java LinkedList源码
查看>>