2016-07-18 17 views
-3

こんにちは、私はタイトルやコンテンツは必要ありません。私はwikiページの簡単な説明が必要です。だから私はパーサにしますが、エラーがあります。JSon Parse from Wiki

private static String url = "https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=chocolate"; 

//names 
final String QUERY = "query"; 
final String LIST = "search"; 
final String TITLE = "title"; 
final String SNIPPET = "snippet"; 

JSONObject searchJson = new JSONObject(searchJsonStr); 
JSONObject queryObject = searchJson.getJSONObject(QUERY); 
JSONArray searchObject = queryObject.getJSONArray(LIST); 
JSONObject titObject = (JSONObject) searchObject.get(0); 

String title = titObject.getString(TITLE); 
String description = titObject.getString(SNIPPET); 

私のエラーは次のとおりです。

searchJsonStrは、あなたのコード内でsearchJsonStrという名前の変数が存在しないため、このエラーを取得している変数

+0

あなたは 'searchJsonStr'が初期化されるコードを示すことができましたか? – Bill

+0

実際に私はこのコードをstackoverflowで見つけましたが、searchJsonStrはありません、どうすればいいですか? – Eren

+0

これは質問をする方法ではありません... –

答えて

0

に解決することはできません。

まず、apiリクエストのJSONコンテンツを取得し、それを変数searchJsonStrとして使用する必要があります。

あなたは、たとえば、このコードを使用することができます。

String searchJsonStr = null; 

URL url = new URL("https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=chocolate"); 

urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.setRequestMethod("GET"); 

int responseCode = urlConnection.getResponseCode(); 

if (responseCode == HttpsURLConnection.HTTP_OK) { 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    searchJsonStr = getStringFromInputStream(in); 
} else { 
    searchJsonStr = null; 
} 
+0

実際に私はこのコードをstackoverflowで見つけましたが、searchJsonStrはありません。どうすればいいですか? – Eren

+0

APIからJSONを取得する方法の例を示すためにmiの回答を変更しました – adalPaRi