我收到下面的错误消息,有人能帮助或建议如何最好地调试它吗?

无法反序列化的实例

java.lang.String

超出起始值的对象

[来源:(pushbackinputstream)处的令牌;行:1,列:37610]

(通过参考链:

CopyToList[[产品] ] -gt;java. U.L.AyayList[ 23 ] -&G.M.Mult.产品[“价格”] -& com;COM.价格(“现在”))

我正在尝试从RESTAPI调用反序列化产品对象。在我添加代码来反序列化price子类之前,代码一直工作得很好。如下所示:

"price": {

"was": "",

"then1": "",

"then2": "",

"now": "59.00",

"uom": "",

"currency": "GBP"

},

我的价格POJO如下:

public class Price {

@JsonProperty("was")

String was;

@JsonProperty("then1")

String then1;

@JsonProperty("then2")

String then2;

@JsonProperty("now")

String now;

@JsonProperty("uom")

String uom;

@JsonProperty("currency")

String currency;

public Price() {

//blank constructor for JSON

}

@Override

public String toString() {

return "Price{" +

"was='" + was + '\'' +

", then1='" + then1 + '\'' +

", then2='" + then2 + '\'' +

", now='" + now + '\'' +

", uom='" + uom + '\'' +

", currency='" + currency + '\'' +

'}';

}

}

我编写了一个JUnit测试来尝试模拟错误,但它在我的测试中有效,

@Test

public void shouldConvertJsonProductListIntoPrice() {

ObjectMapper objectMapper = new ObjectMapper();

String content3 = "{\"products\": [{\"productId\": \"3525085\",\"title\": \"hush Tasha Vest Dress\", " +

"\"price\": {\"was\": \"\",\"then1\": \"\",\"then2\": \"\",\"now\": \"59.00\",\"uom\": \"\",\"currency\": \"GBP\"}, " +

"\"colorSwatches\": [{\"basicColor\": \"Red\",\"skuId\": \"237494589\"},{\"basicColor\": \"Blue\",\"skuId\": \"237494562\"}] " +

"}]}";

JavaType valueType = objectMapper.constructType(ProductList.class);

ProductList readValue;

try {

readValue = objectMapper.readValue(content3, valueType);

assertEquals("3525085", readValue.getProductList().get(0).productId);

assertEquals("hush Tasha Vest Dress", readValue.getProductList().get(0).title);

assertEquals("", readValue.getProductList().get(0).price.then1);

assertEquals("59.00", readValue.getProductList().get(0).price.now);

assertEquals("Blue", readValue.getProductList().get(0).colorSwatches[1].basicColor);

assertEquals("237494562", readValue.getProductList().get(0).colorSwatches[1].skuId);

} catch (Exception e) {

e.printStackTrace();

fail();

}

}

如果我对“now”字段进行注释,那么我的restapi调用工作得很好,我看不到异常。

所以看起来“now”字段有问题,我注意到它试图将“59.00”转换为字符串。这可能是fasterXML转换器的问题吗?我需要帮忙吗?

产品类如下(尽管这是我从API调用中接收到的字段列表减少了很多)。

public class Product {

@JsonProperty("productId")

String productId;

@JsonProperty("title")

String title;

@JsonProperty("colorSwatches")

ColorSwatch [] colorSwatches;

@JsonProperty("price")

Price price;

public Product(){

// blank required for Jackson

}

public Product(String productId, String title, ColorSwatch[] colorSwatches, Price price){

this.productId = productId;

this.title = title;

this.colorSwatches = colorSwatches;

this.price = price;

}

java 不能反序列化_不能将“Java.Lang.Studio”实例反序列化到StaskObl对象令牌中相关推荐

  1. java设计模式并发_[高并发Java 七] 并发设计模式

    [高并发Java 七] 并发设计模式 [高并发Java 七] 并发设计模式 为什么80%的码农都做不了架构师?>>> 在软件工程中,设计模式(design pattern)是对软件设 ...

  2. Java cache类型_为什么有些Java 类方法中要cache类变量

    比如以下一段java代码: private void performTraversals() { // cache mView since it is used so much below... fi ...

  3. java 调用弗雷_深入理解java虚拟机(十一) 方法调用-解析调用与分派调用

    [方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程.在程序运行时,进行方法调用是最普 方法调用过程是指确定被调用方法的 ...

  4. 马士兵 java 学习笔记_马士兵java教程笔记1

    ---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...

  5. java虚拟机现状_深入理解java虚拟机的故障处理工具

    前言 本文主要给大家介绍的是java虚拟机的故障处理工具,文中提到这些工具包括: 名称 主要作用 jps JVM process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程 ...

  6. java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量

    cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...

  7. java检查版本_如何检查Java版本

    java检查版本 Sometimes we need to check the Java version while executing a java program. We could be dev ...

  8. java string 序列化_详解JAVA序列化

    享学课堂作者:逐梦々少年 转载请声明出处! 现在开发过程中经常遇到多个进程多个服务间需要交互,或者不同语言的服务之间需要交互,这个时候,我们一般选择使用固定的协议,将数据传输过去,但是在很多语言,比如 ...

  9. java timestamp 年月日_如何在java中从TimeStamp获取日期

    5 个答案: 答案 0 :(得分:0) 我不确定你真正想要的是什么.你想获得一个java.sql.Timestamp实例,还是想把时间戳作为带有上述模式的字符串? 也许有帮助: ResultSet r ...

最新文章

  1. 受益匪浅:十个哲理寓言,十个成功秘诀
  2. 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )
  3. Intel Realsense D435 pyrealsense2 get_option_range() 获取rs.option中参数值取值范围 获取默认值
  4. Oracle中TO_DATE格式的使用小结
  5. 电气:蒙特卡洛1000个风光场景并通过削减法|聚类法得到几个典型场景(matlab\python实现)
  6. VTK:Rendering之FlatVersusGouraud
  7. asp.net core 自定义基于 HttpContext 的 Serilog Enricher
  8. Javascript--File对象
  9. React开发(124):ant design学习指南之form中的this.props.form
  10. 嵌入式linux 零基础-实践起步 --- 003 --- 交叉编译中环境变量PATH的设定
  11. Python+OpenGL绘制任意形状的三次贝塞尔曲线
  12. 【Android】 认识反射机制(Reflection)
  13. [BZOJ]4199: [Noi2015]品酒大会(后缀数组+笛卡尔树)
  14. window.showModalDialog用法
  15. [error]:启用sqlserver配置管理器异常,内存不足
  16. ES6文档 思维导图笔记
  17. 免费的Access数据库员工管理系统下载-IT技术网站 企业人员管理系统源码
  18. opengl导入obj模型
  19. KDiff3 merge conflict 窗口操作说明
  20. 第4章 程序的控制结构(单元测试题Python含答案)

热门文章

  1. 浅谈AsyncLocal,我们应该知道的那些事儿
  2. 跟我一起学.NetCore之Swagger让前后端不再烦恼及界面自定义
  3. 都在讨论高并发,结果连并发量、TPS、QPS都分不清
  4. .NET或.NET Core Web APi基于tus协议实现断点续传
  5. 如何创建一个自定义的`ErrorHandlerMiddleware`方法
  6. 教你自制.NET Core Global Tools
  7. .NET Core 给使用.NET的公司所带来的机遇
  8. ASP.NET Core 3.0预览版体验
  9. Docker最全教程之Ubuntu下安装Docker(十五)
  10. C# 枚举特性 FlagAttribute 的应用