我正试着用JsonReader来阅读json!一旦我打电话给reader.beginArray(),我就会得到:
java.lang.IllegalStateException:预期的BEGIN_ARRAY,但是字符串。
这是json网址:
http://www.metlink.org.nz/stop/nearbystopdata?lat=-41.278407655948&lng=174.77938892631
@Override
protected String doInBackground(String... urls) {
String result = "";
String url="http://www.metlink.org.nz/stop/nearbystopdata?lat=-41.278407655948&lng=174.77938892631";
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
try {
HttpResponse response = httpclient.execute(httppost);
InputStream in=response.getEntity().getContent();
JsonReader reader ;
reader= new JsonReader(new InputStreamReader(in, "UTF-8"));
reader.setLenient(true);
try {
listData=(ArrayList<DivanData>) readMessagesArray(reader);
}
finally {
reader.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
public ArrayList<DivanData> readMessagesArray(JsonReader reader) throws IOException {
ArrayList<DivanData> messages = new ArrayList();
try {
reader.beginArray();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while (reader.hasNext()) {
messages.add(readMessage(reader));
}
reader.endArray();
return messages;
}我做错了什么?
发布于 2015-09-28 05:26:22
既然您有包含内容的html,那么为什么不尝试使用json (http://jsoup.org/)将json作为字符串从html中获取。它非常简单,需要更少的代码:
Document d;
String url="your_url";
d = Jsoup.connect(url).get();
Element p = d.select("body p").first(); // fetch from p tag content
String jsonString = p.text();https://stackoverflow.com/questions/29311709
复制相似问题