gpt4 book ai didi

json - Jaxb json缺少一个元素数组的括号

转载 作者:行者123 更新时间:2023-12-03 17:58:52 25 4
gpt4 key购买 nike

我正在使用 JAXB/Jersey (1.3) 在 REST API 中将 java 转换为 json。
我读了很多关于这个问题的文章,我试过这个 solution ,它工作了一半:

@XmlRootElement  
public class ArrayWrapper
{
public List<String> list = new LinkedList<String>();
}

和我的 ContextResolver:
@Provider  
public class JAXBContextResolver implements ContextResolver<JAXBContext> {

private JAXBContext context;

private Class[] types = {ArrayWrapper.class,Wrapper.class};

public JAXBContextResolver() throws Exception {

MappedBuilder builder = JSONConfiguration.mapped();
builder.arrays("list");
builder.rootUnwrapping(true);
this.context = new JSONJAXBContext(builder.build(), types);
}

ArrayWrapper aw=new ArrayWrapper();
aw.list.add("测试");

我得到 {"list":["test"]} 所以它可以工作,但是当我将 ArrayWrapper 包装在另一个类中时它不起作用:
@XmlRootElement  
public class Wrapper
{
public ArrayWrapper aw;

public Wrapper()
{
aw=new ArrayWrapper();
aw.list.add("test");
}
}

新包装器();
我得到 {"aw":{"list":"test"}}

谁知道怎么修它?

最佳答案

我不太确定你是否让它工作,所以我贡献了我的一点。

我最近也偶然发现了这个问题。我找到了一个 post在 stackoverflow 中对我有帮助,但更有帮助的是这个 article (介绍 jackson 可能会有所帮助)。

我希望这也能帮助你。对我来说,解决这个问题只需要 5 分钟。

关于json - Jaxb json缺少一个元素数组的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386873/

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