gpt4 book ai didi

java - 使用 Jackson 格式化 List>

转载 作者:行者123 更新时间:2023-12-02 11:22:55 25 4
gpt4 key购买 nike

我想将一个对象映射到 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来映射值。我该怎么做才能得到我想要的布局?

最佳答案

使用您的代码

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"}]}

我使用@JsonProperty来更改名称,但您也可以将var的名称从list更改为任何内容

注意:这只是草案实现...不要使用 public 类变量,等等...

关于java - 使用 Jackson 格式化 List<Map<String,String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49799912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com