测试代码:
Map<Key,Value> map = new HashMap<>();
Key key = new Key();
Value value = new Value();
key.setF1("f1");
key.setF2("f2");
value.setV1("v1");
value.setV2("v2");
map.put(key,value);
String json = JSON.toJSONString(map);
System.out.println(json);
返回:
{{"f1":"f1","f2":"f2"}:{"v1":"v1","v2":"v2"}}
以上并不是一个有效的JSON。
通过jackson来序列化,会把key作为一个tostring处理,在fastjson中怎么弄?
2条答案
按热度按时间cnjp1d6j1#
这个bug很有意思。需要加个判断,如果是map里的key,直接tostring。
建议先自定义序列化。
qncylg1j2#
因为我当前使用fastjson来作为网关层的序列化方式,所以没有办法知道所有业务层的领域,这边你说的自定义序列化应该怎么弄?能给个样例么?@kimmking