fastjson 无法正确传输复杂对象或我使用的演员阵容错误。
我在我的项目中发现了一个问题。所以写一个这样的测试:
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*/
public class Test {
public static void main(String[] args) {
Map<Integer,List<String>> map1 = new HashMap<>();
List<String> list1 = new ArrayList<>();
list1.add("555");
map1.put(5,list1);
System.out.println(map1.get("5"));
Pack pack1 = new Pack();
pack1.setT(1);
pack1.setInfo(map1);
String jsonStr1 = JSONObject.toJSONString(pack1);
Pack pack2 = JSONObject.parseObject(jsonStr1,Pack.class);
Object ob1 = pack2.getInfo();
Map<Integer,List<String>> map2 = (Map<Integer, List<String>>)ob1;
List<String> list2 = map2.get(5);
System.out.println(list2 == null);
}
static class Pack{
Integer t;
Object info;
public Object getInfo() {
return info;
}
public void setInfo(Object info) {
this.info = info;
}
public Integer getT() {
return t;
}
public void setT(Integer t) {
this.t = t;
}
}
}
当调试显示调试信息为图片时,我无法理解为什么 list2 为空: