2011-07-13 6 views
-1

を使用して:JSON私はこのJSONの直列化復元してトラブルを抱えているGson

[{"categorium": 
    {"created_at":"2011-06-09T08:57:41Z","c1":"rete stradale","updated_at":"2011-06-09T08:57:41Z","id":1}}, 
    {"categorium":{"created_at":"2011-06-09T13:50:29Z","c1":"servizi pubblici","updated_at":"2011-06-09T13:50:29Z","id":2}}, 
    {"categorium":{"created_at":"2011-06-09T13:50:37Z","c1":"illuminazione","updated_at":"2011-06-09T13:50:37Z","id":3}}, 
    {"categorium":{"created_at":"2011-06-09T13:50:46Z","c1":"inquinamento","updated_at":"2011-06-09T13:50:46Z","id":4}} 
] 

は、どのように私は、すべての「C1」は属性を外挿することができますので、私はそれらの文字列配列を返すことができますか?

* UPDATE:SOLUTION *

public class getElements { 

String [] getEl (String url) throws ClientProtocolException, IOException { 

    Categoria c = null; 
    Categoria[] cArray = null; 
    String [] c1Array = null; 
    HttpClient client = new DefaultHttpClient(); 
    HttpGet request = new HttpGet("http://10.0.2.2:3000/"+url); 

    HttpResponse response = client.execute(request); 
    HttpEntity entity = response.getEntity(); 
    String stringa = "{\"categorium\":{\"created_at\":\"2011-06-09T08:57:41Z\",\"c1\":\"rete stradale\",\"updated_at\":\"2011-06-09T08:57:41Z\",\"id\":1}}"; 

    Gson json=new Gson(); 
     try{ 
      cArray=json.fromJson(stringa, Categoria[].class); 
      Log.i("ELEMENTO", ""+cArray); 
     }catch(JsonParseException e){ 
      Log.i("error","JsonParseException"); 
     } 

     c1Array = new String[cArray.length]; 
     for (int i=0; i<cArray.length; i++) { 
      c1Array[i] = cArray[i].c1; 
     } 

    return c1Array; 


} 
} 

Categoriumクラス:すべてのC1のを取得するために、次に

Categorium[] cArray = null; 
cArray = gson.fromJson(stringa, Categorium[].class); 

public class Categoria { 
    public String created_at; 
    public String c1; 
    public String updated_at; 
    public int id; 

    public Categoria() { 
     this.created_at = ""; 
     this.c1=""; 
     this.updated_at = ""; 
     this.id = 0; 
    } 

} 
+0

Categoriaオブジェクトをすべて読み取ってから、単純なループでc1要素の配列を手動で作成できないのはなぜですか? – bezmax

+0

どうすればそれらを読むことができますか?私が書いたコードで、私は1つだけのc1を取る、そうですか?ところで... logcatは私にJsonParseExceptionを与えます: "entity.toString"はJsonを文字列型で取得する正しい方法ですか? –

+0

ああ、今私はそれを得た:) – bezmax

答えて

0

配列は、このコードを使用してデシリアライズするには:

String[] c1Array = new String[cArray.length]; 
for (int i=0; i<cArray.length; i++) { 
    c1Array[i] = cArray[i].c1; 
} 
関連する問題