JSONオブジェクトの名前にアクセスするには?

bugra.anadol:

私は、このJSONはFirebaseリアルタイムデータベースから私を返されています。

{
       "betslipid-4322": {
            "amount": 100,
            "bets": [
                {
                    "betType": "FT_RESULT_0",
                    "matchid": "ts-fb",
                    "odd": 2.4,
                    "status": "WAITING"
                }
            ],
            "status": "WAITING"
        },
        "betslipid-4323": {
            "amount": 7.5,
            "bets": [
                {
                    "betType": "FT_RESULT_2",
                    "matchid": "gs-fb",
                    "odd": 2.7,
                    "status": "WAITING"
                },
                {
                    "betType": "FT_RESULT_1",
                    "matchid": "gs-gb",
                    "odd": 1.3,
                    "status": "WAITING"
                }
            ],
            "status": "WAITING"
        }
}

私は、次のJavaクラスに(先頭のbetSlipIDを含む)は、このJSONの属性を配置します。

public class BetSlip {

    private List<Bet> bets;

    private Float amount;

    private BetStatus status;

    private betSlipID;
}

しかし、私はこの場合の「betslipid-4322」と「betslipid-4323」ですbetSlipIDsにアクセスできませんでしたし、私はまた、次のコードで私のJavaクラスにJSONに変換することができませんでした。

private RestTemplate restTemplate = new RestTemplate();
List<BetSlip> betSlip = restTemplate.getForObject(getDatabaseLink("incomplete-betslips"), ArrayList.class);

私はJSONレスポンスを得るとき、私は、着信betSlipIDという名前の変数を含む別のクラスを作成することはできませんので、私は、betSlipIDsを知らないことに注意してください。

user404:

私はこれが最適であると言っていないのですが、あなたはあなたとしてあなたのタスクを実行するために、これを辿ることができbetslipid-xIS変数、私は従うべき手順を説明しています:

  1. ちょうどあなたからJSONオブジェクトを返すrestTemplate参照生のJSON文字列を取得する春restTemplate
  2. 適用する鍵を取得keySet()あなたの返されたJSONの上に、あなたはすべてのあなたのbetslipid-Xを取得します
  3. それに基づいて、自分の中でそのキーとデシリアライズの関連するオブジェクトを取得BetSlipクラスとしてキーを設定しますbetSlipID
  4. このように、あなたの目的のオブジェクトを取得します。

これはあなたの仕事を行う必要があります。
あなたの必要性をさらに明確なら、私に教えてください。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=21113&siteId=1
おすすめ