【问题标题】:JSON, JAXB,JSON RestJSON、JAXB、JSON 休息
【发布时间】:2015-03-05 18:53:34
【问题描述】:

我创建了一个在 XML 请求中运行良好的 Rest Service(Rest Service 输入 JAXB 生成的类)。当我尝试发送 Json 请求时,它会引发异常。

SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
org.codehaus.jackson.map.JsonMappingException: Can not instantiate value of type [simple type, class Transaction] from JSON String; no single-String constructor/factory method (through reference chain: 
class Transaction which is inner class .

我的 Request 类是使用 JAXB 从模式生成的,我的 getter 方法如下所示,但没有 setter 方法。

public List<Transaction> getORIG() {
        if (origtrans == null) {
            origtrans = new ArrayList<Transaction>();
        }
        return this.origtrans;
    }

下面是我的 Json 请求

{
  "LOB_CD": "42424"
  "ORIGINALTRANSACTION" : [
    "LOGON_ID" : "TEST"

  ]
}

当我添加原始事务时,它会抛出一个错误,否则它工作正常。

你能帮我解决这个问题吗? 提前致谢。

【问题讨论】:

    标签: json rest jaxb jackson


    【解决方案1】:

    首先确保您使用的是有效的 JSON,例如:

    {
        "LOB_CD": "42424",
        "ORIGINALTRANSACTION": {
            "LOGON_ID": "TEST"
        }
    }
    

    另外,如果您能向我们展示 Transaction 类,那就太好了。

    【讨论】:

    • 进行这些更改后,我遇到了错误
    • 无法从 START_OBJECT 令牌中反序列化 java.util.ArrayList 实例
    • [来源:org.apache.catalina.connector.CoyoteInputStream@a224b5; line: 11, column: 17](通过引用链:Transction Class
    • 尝试将JSON放入数组[ ... ]
    • 我像以前一样将我的 JSON 更改为数组并得到如下相同的错误严重:MappableContainerException 中包含的异常无法映射到响应,重新抛出到 HTTP 容器 org.codehaus.jackson。 map.JsonMappingException:无法从 JSON 字符串实例化类型 [简单类型,类事务] 的值;没有单字符串构造函数/工厂方法(通过引用链:类 Transaction 是内部类。
    【解决方案2】:

    它有效。 我做了以下步骤 1) 添加了一个空的构造函数 2) 为列表添加了这个注解

    @JsonDeserialize(as=ArrayList.class, contentAs=Transaction.class)
    

    3) 将 Json 对象更改为 { "LOB_CD": "42424" "ORIGINALTRANSACTION" : [ { "LOGON_ID" : "TEST" } ] }

    非常感谢, 帕特尔

    【讨论】:

      猜你喜欢
      • 2013-03-27
      • 2013-12-13
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      相关资源
      最近更新 更多