java - org.codehaus.jackson.JsonParseException: Unexpected end-of-input: OBJECT 的预期关闭标记(来自 [Source: java.io.StringReader@6279cee3;
问题描述
我正在尝试从 URL HttpURLConnection 获取 JSON 响应。下面是我写的一段代码,但是当我运行代码时,有时我会收到响应,有时我会收到“ org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (来自 [来源:java.io.StringReader@6279cee3;行:1,列:0]"
public String process() throws MalformedURLException, JsonGenerationException, JsonMappingException, IOException {
System.out.println("MDN Value is " + mdnValue);
HttpURLConnection urlConnection = null;
// lc.log(Level.FINE, "Final URI of Spirent with MDN " + urlString);
try {
URL uteUrl = new URL(urlString);
urlConnection = (HttpURLConnection) uteUrl.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setRequestProperty(
"X-API-KEY", "ZM5eQui8wqBwg9omaldyJ7jq1Sow69plvuf7kXkas1tjPVcWuBjguP0KWRnjfupb");
urlConnection.connect();
// response updation in log
BufferedReader reader = null;
try {
if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
reader = new BufferedReader(new InputStreamReader(in))
String input;
StringBuilder b = new StringBuilder();
while ((input = reader.readLine()) != null) {
b.append(input);
}
return b.append(input).toString();
} else {
reader = new BufferedReader(new InputStreamReader(urlConnection.getErrorStream()));
String response = reader.readLine();
return new ObjectMapper().reader(ABC.class).readValue(response);
}
} finally {
if (reader != null) {
reader.close();
}
}
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
}
输出:org.codehaus.jackson.JsonParseException:意外的输入结束:对象的预期关闭标记(来自 [来源:java.io.StringReader@6279cee3;行:1,列:0])在 [来源:java. io.StringReader@6279cee3; line: 1, column: 3] at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433) at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521) at org.codehaus.jackson .impl.JsonParserMinimalBase._reportInvalidEOF(JsonParserMinimalBase.java:454) at org.codehaus.jackson.impl.JsonParserBase._handleEOF(JsonParserBase.java:473) at org.codehaus.jackson.impl.ReaderBasedParser._skipWSOrEnd(ReaderBasedParser.java:1496 ) 在 org.codehaus.jackson.map.deser.BeanDeserializer 的 org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:368)。
解决方案
推荐阅读
- javascript - 将鼠标悬停在一个元素上以使另一个元素可见
- javascript - Discord JS 遇到问题
- typescript - 我可以从通用参数推断枚举值吗?
- sql-server - 如何在左连接上的空值的情况下重复值
- request - SKStoreReviewController.requestReview() 费率不来 Appstore
- javascript - 无法从 api 访问数据
- python - 如何简化针对列的平均值评估单元格的过程
- c++ - 当 glIsTexture 有用时
- javascript - 在 Flatlist React Native 中解析 JSON 对象
- php - 来自标头重定向 PHP 的最小延迟