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