2016-05-05 7 views
4

は、どのように私はモシでコンパイル時に不明な鍵を持っているJSONの構造を解析することができますJSONは空である{}(私は{"unknownKey1": { ... etc ...}を期待している)私はバーの内側JSONで取得することができたらモシ解析し、未知のJSONキー

class Foo { 

     @Json(name = "name") 
     String name; 
     @Json(name = "bar") 
     Bar bar; 

     static class Bar { 

     } 
    } 

class BarAdapter { 

    @FromJson 
    Bar fromJson(JSONObject json) { 
     Log.d("xxx", "got " + json.toString()); 
     return new Bar(); 
    } 
} 

、私は手動で私はどのように多くの項目を知らないので、(リストか何かに追加し、それを繰り返すことができますあるだろう)。このようにそれを使用して

  Moshi moshi = new Moshi.Builder() 
     .add(new BarAdapter()) 
     .add(new LinkedHashMapConverter()) 
     .build(); 

は、私はまた、モシ神々をなだめるためにLinkedHashMapConverterを追加する必要がありましたが、それにログを追加し、その方法は、(これは私の本当のと別の問題であるかもしれないと呼ばれることはありませんjson)。

答えて

3

マップを使用する。

マップの値の型もわからない場合は、オブジェクトを使用できません。

+0

Objectは使用できますか使用できませんか? – ataulm

+0

オブジェクトは特別です。 JSONの内容に応じてMap、List、Double、String、Booleanに変換されます。 –

関連する問題