fastjson应⽤string字符串转换成java对象或者对象数组代码如下
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
public class TestFastJson {
public static void main(String[] args) {
// 转换成对象
String jsonstring = "{\"a\":51,\"b\":0}";
json转换对象Usa u1 = JSON.parseObject(jsonstring, new TypeReference<Usa>(){});
Usa u2 = JSON.parseObject(jsonstring,Usa.class);
// 转换成对象数组
String jsonstring2 = "[{\"a\":51,\"b\":0}]";
Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});
List list = Arrays.asList(usa2);
// 转换成ArrayList
ArrayList<Usa> list2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){});
// 转换成ArrayList(默认) list3 与 list4 效果相同
ArrayList<JSONObject> list3 = JSON.parseObject(jsonstring2, new ArrayList<Usa>().getClass());
ArrayList<JSONObject> list4 = JSON.parseObject(jsonstring2, ArrayList.class);
for (int i = 0; i < list4.size(); i++) { // 推荐⽤这个
JSONObject io = (i);
System.out.("a") + "======adn====="+io.get("b"));
}
}
}
class Usa {
private int count = 1888;
private String base = "project";
private Long a;
public Long getA() {
return a;
}
public void setA(Long a) {
this.a = a;
}
private String b;
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
json字符串 直接转换成List
ArrayList<Usa> usa2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){});
或者转换成对象数组
Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});
对象数组转List
List list = Arrays.asList(usa2);
我们使⽤new TypeReference的时候会⽣成多个class⽂件⾥⾯有多少个new TypeReference 就会新增了class
即使我们在for循环⾥(0-N)写new TypeReference 这段代码也是多⽣成⼀个class⽂件,fastjson是看我们写了多少new TypeReference,⽽不是调⽤了多少次new TypeReference。推荐⽤ArrayList.class
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论