我在解析 JSON 时遇到问题。我总是尝试这样做,结果返回了:位置 0 处的意外字符 ()。
public Object execute(HttpRequestBase request){
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse response = null;
Object object = null;
try {
response = client.execute(request);
InputStream is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader((is)));
StringBuilder builder = new StringBuilder();
String output;
while ((output = br.readLine()) != null) {
builder.append(output).append("\n");
}
if (response.getStatusLine().getStatusCode() == 200) {
object = new JSONParser().parse(builder.toString());
client.getConnectionManager().shutdown();
} else {
LOG.log(Level.SEVERE, builder.toString());
throw new RuntimeException(builder.toString());
}
} catch (IOException | ParseException ex) {
LOG.log(Level.SEVERE, ex.toString());
} finally {
}
return object;
}
PS:
object = new JSONParser().parse(builder.toString());
这是我的 JSON 文件的一部分:
[
{
"id":2115,
"identificacao":"17\/2454634-6",
"ultima_atualizacao":null
},
{
"id":2251,
"identificacao":"17\/3052383-2",
"ultima_atualizacao":"2017-11-21"
},
{
"id":2258,
"identificacao":"17\/3070024-6",
"ultima_atualizacao":null
},
{
"id":2257,
"identificacao":"17\/3070453-5",
"ultima_atualizacao":null
}
]
最佳答案
很可能您的内容一开始就有一些未打印的特殊字符。对于 UTF-8 编码的数据,这可能是一个 BOM。
请将您内容的开头发布为 byte[]
.
关于java - JSONParser 在位置 0 处返回意外字符 (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47819134/