gpt4 book ai didi

java - org.codehaus.jackson.map.JsonMappingException 使用 ObjectMapper

转载 作者:行者123 更新时间:2023-11-30 09:24:32 29 4
gpt4 key购买 nike

我正在尝试使用对象映射器调用我的 REST 服务。

url = new URL("http://phx5qa01c-8539.host.com:8080/bservice/BService/v1/getSimpleString");

String str = mapper.readValue(url, String.class);

那个 url 会给我这个字符串-

{ attributes : [ { nm : "SELLERS2" vt : "java.util.Map" status : "SUCCESS" jsonValue : "{"lv":[{"v":{"regSiteId":null,"userState":null,"userId":609},"cn":1}],"lmd":20130206211109}" } ]}

当我在浏览器上尝试该 URL 时,我得到了上面的字符串。但是只要我在代码中做同样的事情。我在下面收到此异常-

org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token

谁能帮我解决这个异常的原因。

最佳答案

Jackson 正在尝试将您的 json 反序列化为新的字符串对象,但属性不匹配,例如它找不到方法 String.setAttributes()。 “超出 START_OBJECT token ”是所有反序列化错误的统称,在堆栈跟踪的下方可能有更多信息。

尝试:

Map myMap = mapper.readValue(url, Map.class);

或者,如果您真的想要字符串,请不要使用 Jackson,只需使用标准 Java 代码或 commons-io 将 url 读取到字符串即可。 :

String str = IOUtils.toString(url);

关于java - org.codehaus.jackson.map.JsonMappingException 使用 ObjectMapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650173/

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