我正在尝试从java对象编写一个JSON。在我使用ObjectMapper将值写入字符串之前,一切都很正常。该字符串在JSON文档中显示了一个意外的字段,称为"map“。
我想要的是:
{
"name": [
{
"a": "1",
"b": "2",
"c": "3",
"d": "4",
"e": "5",
"f": "6"
}
]
}我明白了:
{
"name": [
{
"map": {
"a": "1",
"b": "2",
"c": "3",
"d": "4",
"e": "5",
"f": "6"
}
]
}我在下面的类中定义了要转换为JSON的对象:
public class SomeClass{
private List<JSONObject> name;
//getters, setters
}有谁可以帮我?
发布于 2016-10-06 20:23:29
我已经解决了问题。我刚刚创建了一个对象数组,然后用jackson序列化了它。
private Bla[] bla;
// getters and settersBla类:
private String a;
private String b;
private String c;
...
// getters and setters感谢您做的一切。
琼恩
发布于 2016-09-22 20:43:12
请注意,在您正在序列化的类中,您有一个名为map的参数,如果您将其命名为bla,您将看到:
{
"name": [
{
"bla": {
"a": "1",
"b": "2",
"c": "3",
"d": "4",
"e": "5",
"f": "6"
}
]
}为了去掉参数名,您应该在类内的map参数顶部使用注释:@JsonUnwrapped,如下所示:
@JsonUnwrapped
private Map<String, String> map;另一种选择是使用以下内容为map创建一个getter函数:
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(map.getDataMap());https://stackoverflow.com/questions/39637240
复制相似问题