如何反序列化JSON HashMap <string,object =“”>?

时间:2016-04-15 17:31:28

标签: java json spring

这是我的情况:

private Map<String, Object> data = new HashMap<>();

public void setName(String x) {put("name", x);}
public String getName() {return (String)get("name");}

public void setAge(Integer x) {put("age", x);}
public Integer getAge() {return (Integer)get("age");}

public void setUUID(UUID x) {put("uuid", x);}
public UUID getUUID() {return (UUID)get("uuid");}

现在当我从这个对象生成JSON时,我得到{&#34;数据&#34;:{&#34; name&#34;:...}} 我不想要&#34;数据&#34;:{}部分。

如何解决这个问题?

[编辑]当这个类被Spring导出为JSON时,格式正是我想要的。

2 个答案:

答案 0 :(得分:0)

由于您的整个类似乎都在地图中,只需为您的类添加一个getter方法,而不是序列化类本身,请执行以下操作:

gson.toJson(foo.getData())

另一方面,我要说让吸气剂和制定者在地图上做动作非常尴尬。

答案 1 :(得分:0)

这对我有用。

    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(myClass);