2016-07-07 2 views
1

私はいくつかのjson値をクラスメンバー変数にマップする必要があります。JSON値をRetrofit Androidでクラス変数にマップする

This is a part of result JSON from Open Weather API

私は緯度と経度の値を取得し、以下のクラスにする必要があります。

public class City { 

@SerializedName("name") 
private String name; 

private String latitude; 

private String longitude; 

// CONSTRUCTORS 

// GETTERS AND SETTERS} 

都市名が@SerializedNameを使用してマッピングされたが、それはCOORD JSONオブジェクトの一部であるので、それは緯度と経度では動作しません。

どのようにマップするのかを教えてもらえますか? 都市クラスにオブジェクトを置くことは望ましくありません。

これは私が何をする必要があるかの別の例です。

this is forecast list result for an openweather map api query.

私は、あまりにも天気のクラスを作成していますが、私は天候配列または一時配列からすべての変数だけでいくつかの値を格納する必要はありません。一部の値はまったく必要ありません。都市の例では、私はcoordオブジェクトを作成するのではなく、latとlonの値だけを格納したいと思います。

+0

上記のjsonのModelクラスを作成しますか? – Drv

+0

あなたは都市クラスにcoordオブジェクトを置く必要があります(これは意味をなさえます)。 APIを平坦化するには、座標オブジェクトを公開せずに「getLat」と「getLon」を使用するだけです。 – DeeV

+0

こんにちはDrvとDeeV。私はよりよく説明するための質問を更新しました。 –

答えて

0

ウェブサイトJsonSchema2Pojoを使用することをお勧めします。これにより、必要なクラスを正しい注釈で作成するのに役立ちます。

また、AndroidスタジオプラグインGsonFormatを使用することもできます。

+0

ありがとう!フィールドだけでクラスを作成するにはどうすればいいですか? LatとLonフィールドはネストされた配列であり、CoordではなくCityクラスに配置したいと考えています。 –

+0

それに応じて他のフィールドを削除することができます。しかし構造は変わらない。 –

+0

はい、 '@ SerializedName'を使って名前を取得できるように、latとlonを取得できません。 –

関連する問題