2017-07-14 13 views
0

を作成するのでJSONの値にアクセスするためにGsonでいくつかのハッシュ型構造を作成します。私はcustomer_dataの唯一の特定の値が必要な場合の構造をトラバース以外私は大きなJSON内でJSONオブジェクトを持っている場合は代わりにカスタムクラス

customer_data: {  
    details: {  
      personal_info: {  
       first: “George” 
       last: “Washington”     
      } 
      order_details: { 
       canceled: “true” 
       id:”1234” 
     } 
} 

getAsJsonObjectなどを使用すると、CustomerDataクラスを作成しないようにするには、customer_dataのすべてのデータにアクセスする必要がないため、他の方法でアクセスできますか?

注:私はGson

答えて

0

Gsonを使用していたXPath anologyを介してデータアクセスをサポートしていない、とあなたはデータバインディングを使用したくない場合は、あなただけの二つの方法があります:ツリーモデルまたはストリーミングAPIを。

JsonObject customerData = someBiggerJson.get("customer_data").getAsJsonObject(); String someInfo = customerData.get("some_field").gatAsString(); ...

ストリーミングAPIを使用する場合は、あなたがあなたの手で必要なフィールドにあなたJSONで反復処理する必要があります 最も単純には、ツリーモデルになります。

reader = new JsonReader((<input_stream>) reader.nextString() reader.beginObject() reader.endObject() etc..

関連する問題