使用fastxml从JSON创建Java对象时出现异常

沙宾·穆罕默德(Shabin Muhammad)

我正在尝试使用带有以下JSON的fastxml构建Java对象

    JSON : {"name":"Location Test",
            "location":{
                "coordinates":[10.1234657,10.123467]
            },
            ...
    }

我收到此异常:

play.api.Application$$anon$1: Execution exception[[RuntimeException: com.fasterxml.jackson.databind.JsonMappingException:
Can not deserialize instance of double[] out of START_OBJECT token
 at [Source: N/A; line: -1, column: -1] (through reference chain: com.mypackages.models.Place["location"])]]

地方课程:

public class Place{
   private String name;
   private Location location;
   ...
   getters and setters
}

位置类别:

public class Location{
   private double[] coordinates;

   public Location(double[] coordinates) {
       this.coordinates = coordinates;
   }
   ...
   //getter and setter for coordinate field
} 

有人可以告诉我是什么原因引起的吗?

阿米特·塔玛卡(Amit Tamrakar)

您需要从位置对象中删除构造函数。我已经按照您提供的信息创建了示例程序,它已成功运行。

位置类别:

public class Location{
private double[] coordinates;

/**
 * @return the coordinates
 */
public double[] getCoordinates() {
    return coordinates;
}

/**
 * @param coordinates the coordinates to set
 */
public void setCoordinates(double[] coordinates) {
    this.coordinates = coordinates;
 }
} 

地方课程:

public class Place{
private String name;
private Location location;
/**
 * @return the name
 */
public String getName() {
    return name;
}
/**
 * @param name the name to set
 */
public void setName(String name) {
    this.name = name;
}
/**
 * @return the location
 */
public Location getLocation() {
    return location;
}
/**
 * @param location the location to set
 */
public void setLocation(Location location) {
    this.location = location;
}


@Override
public String toString() {
    return "Place: " + name + " Location: " + Arrays.toString(location.getCoordinates());
}
}

APP类:公共类App {公共静态void main(String [] args)引发IOException {

      //read json file data to String
      byte[] jsonData = Files.readAllBytes(Paths.get("places.txt"));

      //create ObjectMapper instance
      ObjectMapper objectMapper = new ObjectMapper();

      Place place = objectMapper.readValue(jsonData, Place.class);

      System.out.println("Place Object\n"+ place);
    }
}

Places.txt-包含JSON

{
   "name":"Location Test",
        "location":{
            "coordinates":[10.1234657,10.123467]
   }
}

您需要在maven项目中包括以下依赖项:

<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
   <version>2.6.1</version>
</dependency>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

出现异常时如何不创建对象(python)?

来自分类Dev

通过Java创建Kafka主题时出现异常

来自分类Dev

通过Java创建Kafka主题时出现异常

来自分类Dev

使用CSOM创建Wiki页面时出现异常

来自分类Dev

创建zipfile时出现异常错误

来自分类Dev

Java使用tesseract ocr时出现异常

来自分类Dev

使用strcpy时出现异常错误

来自分类Dev

使用strcpy时出现异常错误

来自分类Dev

使用通用数组时出现异常?

来自分类Dev

在Java中为数组创建多个标签时出现异常(Swing)

来自分类Dev

通过 rmi 参数发送对象时出现异常

来自分类Dev

创建过程Oracle SQL Developer时出现异常错误

来自分类Dev

创建 spring Pollable Channel 时出现异常

来自分类Dev

执行 Hive 创建表语句时出现异常

来自分类Dev

为什么在VS2015中创建正则表达式对象时出现异常?

来自分类Dev

尝试在Java中打印数组时出现异常

来自分类Dev

使用Lumia Imaging SDK渲染图像时出现异常

来自分类Dev

在WinRT应用中使用SQLite时出现异常

来自分类Dev

使用NSPredicate格式化变量时出现异常

来自分类Dev

使用is运算符时出现异常的比较结果

来自分类Dev

使用Cordova构建Android平台时出现异常

来自分类Dev

使用Excel工作簿时出现异常

来自分类Dev

使用pip安装NumPy时出现异常错误

来自分类Dev

使用openCV导出openGL纹理时出现异常

来自分类Dev

当我使用pojo时,出现异常了吗?

来自分类Dev

使用openCV导出openGL纹理时出现异常

来自分类Dev

为什么在重新使用位图时总是出现异常?

来自分类Dev

使用is运算符时出现异常的比较结果

来自分类Dev

使用Cordova构建Android平台时出现异常

Related 相关文章

热门标签

归档