0
私はJSONファイルを作成し、ドメインにアップロードしました。私の目標はその文書を解析して情報を取得しますが、何か間違っています。これはJSONファイルです。JSONを解析して結果を表示する(Android)
{
"Show" : {
"id" : "abcde123",
"name" : "Traviata",
"date" : "September 15, 2011"
}
}
これは、私はJSONをパースするために使用するJavaコードです:
private void parse(){
try {
URL eventsJSON = new URL("http://www.site.com/test/sample.json");
URLConnection tc = eventsJSON.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(tc.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
JSONArray jArray = new JSONArray(line);
for (int i = 0; i < jArray.length(); i++) {
eventsJSONObject = (JSONObject) jArray.get(i);
}
}
JSONArray eventsArray = eventsJSONObject.getJSONArray("Show");
//name of the show
Log.d("LOG", jArray.getJSONObject(0).getString("name").toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
}
しかし、クラスが動作していない...誰かが私を助けてくださいことができますか? ありがとう!!!! :)
EDIT: これは、作業コードですが、私はそれが
String jString = "{\"Show\" : {\"from\" : \"June 12, 2011\",\"id\" : \"abcde123\",\"name\" : \"Traviata\"}}";
JSONObject jObject = new JSONObject(jString);
JSONObject eventsObject = jObject.getJSONObject("Shows");
String eventId = eventsObject.getString("id");
String eventName = eventsObject.getString("name");
String eventDateFrom = eventsObject.getString("from");
どのように私は、バッファリーダーを実装し、JSONコードを覚えるんファイルからJSONを解析動作させることはできませんjString文字列で?
おかげで、しかし、あなたは私のコードを編集してみてくださいすることができます
ところで、配列はそのように見えるのでしょうか?私はまだそれを動作させることはできません –
編集は本当に(本当に)短いと素敵なチュートリアル(jsonの構造を見て、どのように各フィールドを取得するか):http://www.androidcompetencycenter。 com/2009/10/json-parsing-in-android/ – MByD
クール、ありがとう!チュートリアルは正常に動作しますが、問題は文字列が常にヌルです。私はwhileサイクルを間違って書きましたか? –