fastjson的常用用法以及自定义排序

Posted 一心行走

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson的常用用法以及自定义排序相关的知识,希望对你有一定的参考价值。

fastJson的四种常用方法

JSON 转 POJO
public static <T> T getObject(String pojo, Class<T> tclass) {
            return JSONObject.parseObject(pojo, tclass);
     }
     
POJO 转 JSON    
public static <T> String getJson(T tResponse){
         return JSONObject.toJSONString(tResponse);
}


List<T> 转 json 
 public static <T> String listToJson(List<T> ts) {
        return JSON.toJSONString(ts);
}

json 转 List<T>
 public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) {
        return JSONArray.parseArray(jsonString, clazz);
}

 

自测json字符串的小代码

String s1 ="{‘a‘:1,‘b‘:2}";
String s2 ="{‘a‘:3,‘b‘:4}";
List s = new ArrayList<String>();
s.add(s1);
s.add(s2);
JSONArray list = new JSONArray(s);
System.out.println(list.toJSONString());
String res = list.toJSONString();
List<String> sts = JSONArray.parseArray(res,String.class);
for (String string : sts) {
    System.out.println(string);
}

 

关于对json数组进行自定义排序

实体类:TestAA

public class TestAA {
    private String a;
    private String b;
    
    public TestAA() {
        super();
    }
    public String getA() {
        return a;
    }
    public void setA(String a) {
        this.a = a;
    }
    public String getB() {
        return b;
    }
    public void setB(String b) {
        this.b = b;
    }
    public TestAA(String a, String b) {
        super();
        this.a = a;
        this.b = b;
    }
    @Override
    public String toString() {
        return "TestAA [a=" + a + ", b=" + b + "]";
    }

}

 

进行自定义排序的代码

TestAA a1 = new TestAA("1", "2");
TestAA a2 = new TestAA("3", "2");
List s = new ArrayList<TestAA>();
s.add(a1);
s.add(a2);
JSONArray list = new JSONArray(s);
System.out.println(list.toJSONString());
String res = list.toJSONString();
List<TestAA> sts = JSONArray.parseArray(res,TestAA.class);
//从大到小进行排序 Collections.sort(sts,
new Comparator<TestAA>() { public int compare(TestAA o1,TestAA o2) { return Integer.parseInt(o2.getA())-Integer.parseInt(o1.getA()); }; }); for (TestAA a : sts) { System.out.println(a.toString()); }

 


以上是关于fastjson的常用用法以及自定义排序的主要内容,如果未能解决你的问题,请参考以下文章

nodejs常用代码片段

Xcode自定义代码块

FastJson中JSONObject用法及常用方法总结

FastJson中JSONObject用法及常用方法总结

sql语句order by 用法,自定义规则

fastjson序列化排序问题