2

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 为空:

在此处输入图像描述

4

0 回答 0