我想将对象映射到json,如下所示:
{"MyClass" :
[
{"key" : "value"},
{"key" : "value"}
]}
但是我的代码给了我:
{"MyClass" : {
"list" : {
"key" : "value",
"key" : "value"
}
我的代码是这样的:
public class MyClass {
private List<Map<String,String>> list;
//getters & setters......
}
和
Map<String, String> map1 = new HashMap<String,String>();
map1.put("key", "value");
Map<String,String> map2 = new HashMap<String,String>();
map2.put("key","value");
List<Map<String,String> list = new ArrayList<Map<String,String>();
list.add(map1);
list.add(map2);
我正在使用ObjectMapper
来映射值。我该怎么做才能得到我想要的布局?
答案 0 :(得分:1)
使用您的代码
OBJ_create()
输出
class MyClass {
@JsonProperty("MyClass")
public List<Map<String,String>> list;
public static void main(String[] args) throws JsonProcessingException {
Map<String, String> map1 = new HashMap<String,String>();
map1.put("key", "value");
Map<String,String> map2 = new HashMap<String,String>();
map2.put("key","value");
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
list.add(map1);
list.add(map2);
MyClass d = new MyClass();
d.list = list;
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(d);
System.out.println(json);
}
}
我使用{"MyClass":[{"key":"value"},{"key":"value"}]}
更改了名称,但您也可以将var的名称从@JsonProperty
更改为
注意:这只是草案实施...不要使用公共类vars,等...