2011-12-14 4 views
-2

私は、このJSONファイルがあります。誰かがこのJSONファイルの解析に手伝ってもらえますか?

{ 
    "ics_desire":{ 
    "version":"Beta 0.1.1", 
    "description":"description here", 
    "build-fingerprint":"fingerprint" 
} 

を今私はtxtVersionののTextViewとtxtDescriptionのTextViewの中description一部でversion一部を載せていきたいと思います。

誰かが私を助けますか?

+1

を通してあなたを助けます... – Danny

+4

まず、JSONが有効であることを確認してください。今は、そうではありません。それは、2つのオープニングブラケットと1つの閉鎖ブラケットを持っています。また、これまでに何を試しましたか?この量のJSONデータは複雑ではないので、任意の数のチュートリアルがあなたを助けることができます。 –

答えて

0

まず、あなたの上に述べたことを述べるために、JSONコードの形式が正しくありません。 http://json.parser.online.fr/に行くことで、JSONコードが正しく形成されていることを検証できます。 次のようにあなたの正しいJSONのようになります(あなたが閉鎖を欠落していた})

{ 
"ics_desire": { 
    "version": "Beta 0.1.1", 
    "description": "description here", 
    "build-fingerprint": "fingerprint" 
} 
} 

次に、ここで私は過去にテストするために使用している作業JSONコードの一例です。

{ 
"HealthySubstituteData": [ 
    { 
     "Assoc_ID": "1", 
     "uFood": "White Flour", 
     "hFood": "Wheat Flour", 
     "Category": "Baking", 
     "Description": "You can substitute blah blah blah...", 
     "Count": "5", 
     "submittedBy": "Administrator" 
    } 
] 
} 

次に、このデータを取得するために使用するコードを示します。

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 
    JSONObject json = JSONfunctions.getJSONfromURL("http://your.url.com/whaterver"); 

    try 
    { 
     JSONArray healthySubstituteData = json.getJSONArray("HealthySubstituteData"); 



     for(int i=0;i<healthySubstituteData.length();i++) 
     {      
      HashMap<String, String> map = new HashMap<String, String>();  
      JSONObject e = healthySubstituteData.getJSONObject(i); 



      map.put("Assoc_ID", (String) e.get("Assoc_ID")); 
      map.put("uFood", (String) e.get("uFood")); 
      map.put("hFood", (String) e.get("hFood")); 
      map.put("category", (String) e.get("Category")); 
      map.put("description", (String) e.get("Description")); 
      map.put("count", (String) e.get("Count")); 
      map.put("submittedBy", (String) e.get("submittedBy")); 
      mylist.add(map);    
     }  
    } 

これで、HashMap型の配列リストが完成しました。その時点で、私はその時点で何でもできます。

0

あなたは

public class Myclass{ 
String version; 
String description; 
String build-fingerprint; 
}; 

のような単純なクラスを作成してから、オブジェクトとその逆にJSONを変換するGsonを使用することができます。

Gson gson = new Gson(); 
Myclass obj = gson.fromJson(json_string, Myclass.class); 

json_stringは、あなたのジェイソンの文字列が含まれている必要があります。 getterを使用してクラスオブジェクトの値を取得できるようになりました。

Note: Gson is an external library you need to import, download it from google.
0

JSONで行方不明括弧については無視して、このコードは、誰かがあなたを助けることができるようにしたい場合は、おそらくJSONファイルの内容を貼り付けなければならない

JSONObject json = JSONfunctions.getJSONfromURL("http://your.url.com/whaterver"); //the site where you get your JSON 
JSONObject daata = json.getJSONObject("ics_desire"); //grabbing the inner object 
String version = daata.getString("version");   //grabbing values 
String description = daata.getString("description"); 
txtVersion.setText(version);       //Hope you have initialized the Views. 
txtDescription.setText(description); 
関連する問題