Fastjson
程序员文章站
2022-03-03 14:49:24
...
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
public class FastjsonTest {
static Map<String,Object> m=new HashMap<String,Object>();
static Person p=new FastjsonTest().new Person();
static List<Person> list=new ArrayList<Person>();
static Clazz cz=new FastjsonTest().new Clazz();
public static void main(String[] args) {
// toString(m);
// toString(p);
// toString(list);
// toString(cz);
// parse("");
// parse("",null);
parse("",null,null);
}
static void toString(Map<String,Object> m){
//String res=JSON.toJSONString(m);
String res=JSON.toJSONString(m,mapping);
System.out.println(res);
}
static void toString(Person p){
String res=JSON.toJSONString(p,mapping);
System.out.println(res);
}
static void toString(List<Person> list){
String res=JSON.toJSONString(list,mapping);
System.out.println(res);
}
static void toString(Clazz cz){
String res=JSON.toJSONString(cz,mapping);
System.out.println(res);
}
static void parse(String json){
String js="{\'bir\':\'2020-04-15 12:02:07\'}";
Map m=JSONObject.parseObject(js, Map.class);
System.out.println(m.get("bir"));
}
static void parse(String json,Class c){
String js="[{\'age\':66,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi0\'},{\'age\':67,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi1\'}]";
List list=JSONObject.parseArray(js, Map.class);
System.out.println(list.size());
}
static void parse(String json,Class c,String s){
String js="{\'cname\':\'一班\',\'persons\':[{\'age\':66,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi0\'},{\'age\':67,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi1\'}]}";
Map mm=JSONObject.parseObject(js, Map.class);
CA<PersonA> cc=JSONObject.parseObject(js, new TypeReference<CA<PersonA>>(){});
System.out.println(cc.getPersons().size());
}
//测试数据
static {
m.put("name", "王五");
m.put("age", 22);
m.put("bir", new Date()); //日期
p.setName("lisi");
p.setAge(66);
p.setBirth(new Date());
for(int i=0;i<2;i++){
Person per=new FastjsonTest().new Person();
per.setName("lisi"+i);
per.setAge(66+i);
per.setBirth(new Date());
list.add(per);
}
cz.setCname("一班");
cz.setPersons(list);
}
//对日期的序列化
static SerializeConfig mapping = new SerializeConfig();
static String dateFormat;
static {
dateFormat = "yyyy-MM-dd HH:mm:ss";
mapping.put(Date.class, new SimpleDateFormatSerializer(dateFormat));
}
class Person{
String name;
int age;
Date birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
}
class Clazz{
String cname;
List<Person> persons;
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public List<Person> getPersons() {
return persons;
}
public void setPersons(List<Person> persons) {
this.persons = persons;
}
}
}
class PersonA{
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class CA<T>{
String cname;
List<T> persons;
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public List<T> getPersons() {
return persons;
}
public void setPersons(List<T> persons) {
this.persons = persons;
}
}
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
public class FastjsonTest {
static Map<String,Object> m=new HashMap<String,Object>();
static Person p=new FastjsonTest().new Person();
static List<Person> list=new ArrayList<Person>();
static Clazz cz=new FastjsonTest().new Clazz();
public static void main(String[] args) {
// toString(m);
// toString(p);
// toString(list);
// toString(cz);
// parse("");
// parse("",null);
parse("",null,null);
}
static void toString(Map<String,Object> m){
//String res=JSON.toJSONString(m);
String res=JSON.toJSONString(m,mapping);
System.out.println(res);
}
static void toString(Person p){
String res=JSON.toJSONString(p,mapping);
System.out.println(res);
}
static void toString(List<Person> list){
String res=JSON.toJSONString(list,mapping);
System.out.println(res);
}
static void toString(Clazz cz){
String res=JSON.toJSONString(cz,mapping);
System.out.println(res);
}
static void parse(String json){
String js="{\'bir\':\'2020-04-15 12:02:07\'}";
Map m=JSONObject.parseObject(js, Map.class);
System.out.println(m.get("bir"));
}
static void parse(String json,Class c){
String js="[{\'age\':66,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi0\'},{\'age\':67,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi1\'}]";
List list=JSONObject.parseArray(js, Map.class);
System.out.println(list.size());
}
static void parse(String json,Class c,String s){
String js="{\'cname\':\'一班\',\'persons\':[{\'age\':66,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi0\'},{\'age\':67,\'birth\':\'2020-04-15 12:02:07\',\'name\':\'lisi1\'}]}";
Map mm=JSONObject.parseObject(js, Map.class);
CA<PersonA> cc=JSONObject.parseObject(js, new TypeReference<CA<PersonA>>(){});
System.out.println(cc.getPersons().size());
}
//测试数据
static {
m.put("name", "王五");
m.put("age", 22);
m.put("bir", new Date()); //日期
p.setName("lisi");
p.setAge(66);
p.setBirth(new Date());
for(int i=0;i<2;i++){
Person per=new FastjsonTest().new Person();
per.setName("lisi"+i);
per.setAge(66+i);
per.setBirth(new Date());
list.add(per);
}
cz.setCname("一班");
cz.setPersons(list);
}
//对日期的序列化
static SerializeConfig mapping = new SerializeConfig();
static String dateFormat;
static {
dateFormat = "yyyy-MM-dd HH:mm:ss";
mapping.put(Date.class, new SimpleDateFormatSerializer(dateFormat));
}
class Person{
String name;
int age;
Date birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
}
class Clazz{
String cname;
List<Person> persons;
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public List<Person> getPersons() {
return persons;
}
public void setPersons(List<Person> persons) {
this.persons = persons;
}
}
}
class PersonA{
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class CA<T>{
String cname;
List<T> persons;
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public List<T> getPersons() {
return persons;
}
public void setPersons(List<T> persons) {
this.persons = persons;
}
}
推荐阅读
-
C#简单快速的json组件fastJSON使用介绍
-
spring boot2 修改默认json解析器Jackson为fastjson
-
fastjson
-
一篇文章教你轻松使用fastjson
-
亲手带你解决Debug Fastjson的安全漏洞
-
谈谈fastjson反序列方法JSON.parseObject(String text, Class
clazz)--来源于生产实践 -
FastJson序列化自定义返回字段,普通类从spring容器中获取bean
-
通过jgit一次性升级fastjson版本
-
bootstrap搜索建议插件suggest+使用FastJSON进行JSON和String转换解析
-
fastjson序列化出现*Error