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

时间:2021-10-02 00:51:44

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());
}