2012-04-11 16 views
-1
public void HelloWord { 
     for (int i = 0; i < 20; i++) { 
      Log.d("Great"); 
     } 
    } 

上記のコードは機能しません。 私は値の名前を取得しようとしました 誰が問題を知っていますか?android jsonを解析する方法

org.json.JSONException:リンクの価値...内容... org.json.JSONArrayで org.json.JSON.typeMismatchで。

+1

おそらくJSONレスポンスの解析と関係がないためですか? – MByD

+0

それは何もしていませんか?私はコードを見つけて、別のjsonリンクを置くと使用します。 –

+1

これは前にあったコードではありません:) – MByD

答えて

0

JSONが動作する方法が不足していると思います。 {}のいずれかがオブジェクトで、[]が配列を指定します。だから、TwitterのフィードのルートではないJSONArray、JSONObjectです:

は、より多くのこのような何かを試してみてください:

JSONObject obj = new JSONObject(mStringBuilder.toString()); 
JSONObject trends = obj.getJSONObject("trends"); 
JSONArray today = trends.getJSONArray("2012-04-10"); 
for (int i = 0; i < today.length(); i++) { 
    JSONObject tag = today.getJSONObject(i); 
    String name = tag.getString("name"); 
    // do whatever with name 
} 

はるかに簡単、そしてそれがどのように動作するかの明確。 JSONObjectsは、キーと値の間の単純なマッピングと、辞書である - 各オブジェクト({}は)のような単純な整数または複数のオブジェクト

+0

エラーがあります... 2012-04-10の値は何故ですか? –

+0

あなたはまったく正しいです。削除された答え:) – MByD

+0

@ user1106177私はそれを間違って入力したので、 'trend.getJSONArray()'ではなく 'obj.getJSONArray()'であるはずです。 – JRaymond

1

IはGSON libraryを使用することを好む、のいずれかを含有することができるより多くのいずれかのオブジェクト、または配列([])を含むことができます速くて効果的なJSONパーサーです。プロジェクトに追加されると、返されるデータを表すクラスを作成する必要があります。あなたは、あなたのためにあなたのオブジェクトを作成するために、単一の関数を呼び出すことができます。

gson.fromJson(); 

GSONの使用に非常に良い記事がhttp://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.htmlで見つけることができます - それも、たとえばツイッターを使用しています。

関連する問題