gpt4 book ai didi

java - 尝试映射 Json 时出现 JsonParseException

转载 作者:行者123 更新时间:2023-12-02 06:04:47 28 4
gpt4 key购买 nike

我正在尝试将 Json 映射到 POJO,但出现此异常:

这是我的代码:

ObjectMapper mapper = new ObjectMapper();
try {
InputStream is = getActivity().getAssets().open("user.json");

List<MessageCenterResponse> mcr = (List<MessageCenterResponse>) mapper.readValue(content, MessageCenterResponse.class);
System.out.println(mcr);
}
catch (IOException ex) {
ex.printStackTrace();
}

我遇到以下异常:

org.codehaus.jackson.JsonParseException: Unexpected character ('a' (code 97)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.StringReader@41e86930; line: 1, column: 2]

是否与类型问题有关?

最佳答案

InputStream 类从 Object 继承其 toString() 方法,它的实现方式 (Oracle JDK 7) 为

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

换句话说,它不会读取流并将内容作为 String 返回。

您需要自己使用 any number of techniques for reading from an InputStream 来完成此操作。或者将 InputStream 直接传递给 ObjectMapper 方法。

List<MessageCenterResponse> mcr = mapper.readValue(is, new TypeReference<List<MessageCenterResponse>>() {});

关于java - 尝试映射 Json 时出现 JsonParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22389400/

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