如何使用FlexJSON序列化Map>
作者:互联网
我有一个对象,我想序列化为JSON.此对象是包含特定对象列表的地图.这与它类似:
Map<String, List<Object>> map = new Map<String, List<Object>>();
我正在使用FlexJSON.我只能使用flexjson.JSONSerializer.有我的尝试:
JSONSerializer jsonSerializer = new JSONSerializer();
// jsonSerializer.include("map");
// jsonSerializer.include("map.myList.object");
jsonSerializer.transform(new MapTransformer(), "map");
jsonSerializer.exclude("*.class");
正如您所看到的,我现在正在尝试使用Transformer类,但我还没有成功.如我所想,如果我的List< Object>,则注释行将起作用.有自己的名字,例如myList.但它没有自己的名字,因为它是我的地图的价值.
如何使用FlexJSON将此类对象序列化为JSON?
解决方法:
Quoi是正确的,很可能是您想要使用的答案.但是,只需这样您就可以了解更多有关它如何工作的信息,您可以这样做:
new JSONSerializer().include("values.values").serialize( myMap );
地图和列表是容器,并且包含其中包含的元素的特殊表达式.如果要讨论容器值的路径,请在路径中使用“值”表达式. Map的两个特殊表达式“keys”和“values”.其他收藏品有“价值”.
另一种选择是使用通配符,如下所示:
new JSONSerializer().include("values.*").serialize( myMap );
您可以看到Quoi的答案中使用的通配符以排除类属性.
标签:java,json,jsonserializer,flexjson 来源: https://codeday.me/bug/20190729/1571137.html