`

Fastjson

    博客分类:
  • java
阅读更多
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;
}
}
分享到:
评论

相关推荐

    fastjson-1.2.54-API文档-中文版.zip

    赠送jar包:fastjson-1.2.54.jar; 赠送原API文档:fastjson-1.2.54-javadoc.jar; 赠送源代码:fastjson-1.2.54-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.54.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.2.72-API文档-中文版.zip

    赠送jar包:fastjson-1.2.72.jar; 赠送原API文档:fastjson-1.2.72-javadoc.jar; 赠送源代码:fastjson-1.2.72-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.72.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.2.78-API文档-中文版.zip

    赠送jar包:fastjson-1.2.78.jar; 赠送原API文档:fastjson-1.2.78-javadoc.jar; 赠送源代码:fastjson-1.2.78-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.78.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.2.83.jar下载

    fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...

    fastjson和jackson序列化数据的区别

    fastjson和jackson序列化数据的区别直奔主题一言不合就上代码注意 直奔主题 1、fastjson将字符串反序列化为对象时,只会处理第一层,内部会序列化为JsonObject或者JsonArray,使用二级结构和三级结构时还要再次处理...

    springboot 使用spring cache缓存 和 使用fastjson配置redis系列化

    springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot ...

    fastjson-1.2.51-API文档-中文版.zip

    赠送jar包:fastjson-1.2.51.jar; 赠送原API文档:fastjson-1.2.51-javadoc.jar; 赠送源代码:fastjson-1.2.51-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.51.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.2.47-API文档-中文版.zip

    赠送jar包:fastjson-1.2.47.jar; 赠送原API文档:fastjson-1.2.47-javadoc.jar; 赠送源代码:fastjson-1.2.47-sources.jar; 包含翻译后的API文档:fastjson-1.2.47-javadoc-API文档-中文(简体)版.zip 对应...

    fastjson-1.2.54-API文档-中英对照版.zip

    赠送jar包:fastjson-1.2.54.jar; 赠送原API文档:fastjson-1.2.54-javadoc.jar; 赠送源代码:fastjson-1.2.54-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.54.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.2.79-API文档-中文版.zip

    赠送jar包:fastjson-1.2.79.jar; 赠送原API文档:fastjson-1.2.79-javadoc.jar; 赠送源代码:fastjson-1.2.79-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.79.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.2.75-API文档-中文版.zip

    赠送jar包:fastjson-1.2.75.jar; 赠送原API文档:fastjson-1.2.75-javadoc.jar; 赠送源代码:fastjson-1.2.75-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.75.pom; 包含翻译后的API文档:fastjson-1.2....

    fastjson-1.2.28-API文档-中文版.zip

    赠送jar包:fastjson-1.2.28.jar; 赠送原API文档:fastjson-1.2.28-javadoc.jar; 赠送源代码:fastjson-1.2.28-sources.jar; 包含翻译后的API文档:fastjson-1.2.28-javadoc-API文档-中文(简体)版.zip 对应...

    fastjson-1.2.47-API文档-中英对照版.zip

    赠送jar包:fastjson-1.2.47.jar; 赠送原API文档:fastjson-1.2.47-javadoc.jar; 赠送源代码:fastjson-1.2.47-sources.jar; 包含翻译后的API文档:fastjson-1.2.47-javadoc-API文档-中文(简体)-英语-对照版....

    fastjson 各个 版本 jar

    fastjson-1.1.35.jar ,fastjson-1.1.36.jar ,fastjson-1.1.37.jar ,fastjson-1.1.44.jar ,fastjson-1.2.3.jar,fastjson-1.2.4.jar

    fastjson-1.2.51-API文档-中英对照版.zip

    赠送jar包:fastjson-1.2.51.jar; 赠送原API文档:fastjson-1.2.51-javadoc.jar; 赠送源代码:fastjson-1.2.51-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.51.pom; 包含翻译后的API文档:fastjson-...

    FastJson处理$ref的js类库 FastJson-1.0.min.js

    当项目中使用了fastjson框架转换json字符串后,默认情况下会有$ref这样的引用方式。 如果不使用此引用,在重复嵌套时,可能会耗尽系统资源。 但是如果启用的话,在页面js中又无法正常使用。 现只需要引入此js文件,...

    fastjson-1.2.17-API文档-中文版.zip

    赠送jar包:fastjson-1.2.17.jar; 赠送原API文档:fastjson-1.2.17-javadoc.jar; 赠送源代码:fastjson-1.2.17-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.17.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.1.37-API文档-中文版.zip

    赠送jar包:fastjson-1.1.37.jar; 赠送原API文档:fastjson-1.1.37-javadoc.jar; 赠送源代码:fastjson-1.1.37-sources.jar; 赠送Maven依赖信息文件:fastjson-1.1.37.pom; 包含翻译后的API文档:fastjson-...

    fastjson-1.2.28-API文档-中英对照版.zip

    赠送jar包:fastjson-1.2.28.jar; 赠送原API文档:fastjson-1.2.28-javadoc.jar; 赠送源代码:fastjson-1.2.28-sources.jar; 包含翻译后的API文档:fastjson-1.2.28-javadoc-API文档-中文(简体)-英语-对照版....

    fastjson-1.2.83 针对近期阿里fastjson包漏洞,升级解决

    Fastjson 1.2.80 及之前版本使用黑白名单用于防御反序列化漏洞,经研究该防御策略在特定条件下可绕过默认 autoType 关闭限制,攻击远程服务器,风险影响较大。建议 Fastjson 用户尽快采取安全措施保障系统安全

Global site tag (gtag.js) - Google Analytics