JSONを解析するのに問題があります。いつも私はそれを行う試みること、フォローは結果が返されました:予期しない文字()の位置に0JSONParserが位置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:
- 私の応答がうまくフォーマットされたJSONを返します。
- コードのこの作品は、
object = new JSONParser().parse(builder.toString());
を実行しているときに問題が発生したザ・私のJSONファイルoを一部です:
[
{
"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
}
]
'builder'の内容を解析する前に表示できますか?なぜ私は改行を追加しているのか理解できませんが、デバッグの観点から見ると分かります。 – stdunbar
JSONはどこですか? – Eric
JSON入力を調べるには、おそらくUTF-8 BOMで始まります。これは解析する前に取り除く必要があります。 –