我試圖從維基百科檢索文本以在Android應用程序上使用。我正在使用Java。 我想要做的第一件事就是從特定文章中檢索這些部分,並將它們展示給用戶,當用戶單擊某個部分時,使用另一個http請求獲取部分文本。將Json轉換爲特定的類
所以,這兩個要求是這些:
http://en.wikipedia.org/w/api.php?format=json&action=parse&page=Valencia_Cathedral&prop=sections
,然後這一個:
我的問題是:什麼樣的java對象應該我創建存儲信息,然後使用.fromJSON()
將其轉換爲這些類別?
感謝@NathanZ,我創建了這兩個類:
public class WikiResponseSections {
String title;
List<Section> sections;
}
public class Section {
int toclevel;
String level;
String line;
String number;
String index;
String fromtitle;
int byteoffset;
String anchor;
}
但是,當我轉換到這些OBJETS由GSON HTTP響應,並嘗試讀取域「標題」的價值有一個錯誤觸發器:JavaNullPointerException。 這裏是我的轉換代碼:
InputStream stream = null;
try {
stream = entity.getContent();
} catch (IllegalStateException e) {
Log.e("Stream","ERROR illegalstateexception");
} catch (IOException e) {
Log.e("Stream","ERROR exception");
}
reader = new BufferedReader(new InputStreamReader(stream));
GsonBuilder bldr = new GsonBuilder();
Gson gson = bldr.create();
WikiResponse = gson.fromJson(reader, WikiResponseSections.class);
if (WikiResponse != null){
Log.i("WikiResponse",WikiResponse.getTitle()); //The error triggers HERE
publishProgress();
}
else
Log.i("WikiResponse","NULL");
}
感謝您的幫助再次
謝謝,但是,第二個請求(http://en.wikipedia.org/w/api.php?format=json&action=parse&page=Valencia_Cathedral&prop=text§ion=1)有一個字段,其名稱是「 *」。我該怎麼辦? – lluisu
我更新了我的答案。請參閱編輯 – znat
請參閱編輯 – lluisu