import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@JsonIgnoreProperties(ignoreUnknown = true)
@JacksonXmlRootElement(localName = "Data")
public class Data {
@JacksonXmlProperty(localName="ServiceProviders")
private ServiceProviders serviceproviders;
public ServiceProviders getServiceproviders() {
return serviceproviders;
}
public void setServiceproviders(ServiceProviders serviceproviders) {
this.serviceproviders = serviceproviders;
}
public Data() {
super();
}
@Override
public String toString() {
return "Data [serviceproviders=" + serviceproviders + "]";
}
}
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@JsonIgnoreProperties(ignoreUnknown = true)
@JacksonXmlRootElement(localName = "ServiceProviders")
public class ServiceProviders {
@JacksonXmlElementWrapper(localName="ServiceProvider")
@JsonProperty("ServiceProvider")
private List<ServiceProvider> serviceprovider;
public ServiceProviders() {
super();
}
public List<ServiceProvider> getServiceprovider() {
return serviceprovider;
}
public void setServiceprovider(List<ServiceProvider> serviceprovider) {
this.serviceprovider = serviceprovider;
}
@Override
public String toString() {
return "ServiceProviders [serviceprovider=" + serviceprovider + "]";
}
}
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@JacksonXmlRootElement(localName = "ServiceProvider")
public class ServiceProvider {
@JacksonXmlProperty(localName = "ID")
@JsonProperty("ID")
private String id;
@JacksonXmlProperty(localName = "Name")
private String Name;
public ServiceProvider() {
super();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public ServiceProvider(String id, String name) {
super();
this.id = id;
Name = name;
}
@Override
public String toString() {
return "ServiceProvider [id=" + id + ", Name=" + Name + "]";
}
}
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
public class Parser {
public static void main(String[] args) throws IOException {
ObjectMapper objectMapper = new XmlMapper();
// Reads from XML and converts to POJO
Data data = objectMapper.readValue(
StringUtils.toEncodedString(Files.readAllBytes(Paths.get("C:\\Users\\d.roopa.gadiparthi\\Desktop\\sprint25\\CREtoJSON\\src\\main\\resources\\CRE.xml")), StandardCharsets.UTF_8),
Data.class);
System.out.println(data.getServiceproviders().getServiceprovider().get(1));
// ServiceProvider data1 = objectMapper.readValue(
// StringUtils.toEncodedString(Files.readAllBytes(Paths.get("C:\\Users\\d.roopa.gadiparthi\\Desktop\\sprint25\\CREtoJSON\\src\\main\\resources\\CRE.xml")), StandardCharsets.UTF_8),
// ServiceProvider.class);
// System.out.println(data1.getId()+data1.getName());
}
}
<Data>
<ServiceProviders>
<ServiceProvider ID="0" Name="0:Divya" />
<ServiceProvider ID="1" Name="1:Roopa" />
<ServiceProvider ID="2" Name="2:ransit" />
</ServiceProviders>
</Data>
dependecies are
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
</dependencies>
线程“main”java.lang.indexoutOfboundsException:在java.base/jdk.internal.util.preconditions.outofbounds(preconditions.java:64),在java.base/jdk.internal.util.preconditions.outofboundscheckindex(preconditions.java:70),在java.base/jdk.internal.util.preconditions.checkindex(preconditions.java:248),在爪哇:18)
问题出在ServiceProviders
类中。在这里,您通过以下方式对
元素的序列进行了建模:
@JacksonXmlElementWrapper(localName = "ServiceProvider")
@JsonProperty("ServiceProvider")
private List<ServiceProvider> serviceprovider;
这意味着,在
中,您希望XML输入如下所示
<ServiceProvider>
<ServiceProvider ID="0" Name="0:Divya" />
<ServiceProvider ID="1" Name="1:Roopa" />
<ServiceProvider ID="2" Name="2:ransit" />
</ServiceProvider>
而不是简单地
<ServiceProvider ID="0" Name="0:Divya" />
<ServiceProvider ID="1" Name="1:Roopa" />
<ServiceProvider ID="2" Name="2:ransit" />
当然,您不希望额外的
包装。因此,您需要将@JacksonXmlElementWrapper
注释修改为
@JacksonXmlElementWrapper(useWrapping = false)
这是我的代码: 该程序的目的是要求用户输入一个字符串,然后统计字符串中每个字符的使用次数。 当我去编译程序时,它工作正常。当我运行程序时,我可以在弹出框中输入字符串,但是在我提交字符串并按确定后,我得到一个错误,说 我不完全确定问题是什么或如何解决。
我的目标是创建一个新的实例,其中前2个元素是原始元素,之后是最后3个元素的中间值。例如,< code>[5,2,9,1,7,4,6,3,8]变成< code>[5,2,5,2,7,4,6,4,6]。 我解决这个问题的方法是创建2个新的数组列表,其中一个是从索引2开始的3个元素之间的子数组,具有排序,最后将新子数组的索引1放入我的新数组列表中。但是,这会遇到索引越界错误。
我正在尝试将java对象转换为xml文件。 这是对象的类: 这是我用来转换对象的类: 当我运行main方法时,我得到了这个堆栈跟踪: 试图寻找解决方案,但仍然无法解决问题。 每个建议都非常感谢,提前感谢
问题内容: 在我的游戏代码中,我尝试添加一张手牌。一旦我做完了,我的数组就超出了范围。一切看起来都不错,但也许我缺少了一些东西。 仅供参考,一个和两个是Player实例。来自Main类的相关代码(对格式感到抱歉。我很想将其传输到Stack Overflow): 卡类: 玩家等级: 问题答案: 问题出在你的循环上 没有其他任何值可设置,因此此循环不断循环,直到所有玩家拥有超过52张牌为止。一旦某人拥
我一直在四处寻找是否有任何东西可以帮助我,但我不太了解人们的回答,任何我所了解的似乎都不能解决问题!所以基本上正如标题所说,我得到了一个数组索引越界异常,但我不知道为什么。非常感谢任何帮助。 代码:
这似乎微不足道,但也许我对向量的理解并不是它应该是的。我在这段代码上得到[java.lang.ArrayIndexOutOfBoundsException:Array index out of range:1]。错误发生在第3行。既然look是基于向量的大小,那么数组怎么会越界呢? 方法“getChangeSets()”返回一个列表。该列表最初是作为向量创建的。