2

Jacksonを使用して解析しようとしているjsonがあります。JSONは次のように見えます-

coupons: {
  1: {
     title: "Mode von",
     description: "",
     type: "offer",
     code: "-",
     expiry: "0000-00-00",
     link: ""
  },    
  2: {
     title: "Prime 1",
     description: "",
     type: "offer",
     code: "-",
     expiry: "0000-00-00",
     link: "http://test.com/"
  }
}

ここではクーポンの数は一定ではなく、応答ごとに異なります。私のジレンマは、そのようなオブジェクトを保持できる対応するJavaクラスを作成することです。

Mapを-として試してみました

public class Coupons {
   Map<String, String>coupons = new HashMap<String, String>();
   public Map<String, String> getCoupons() {
      return coupons;
   }
}

だが -

System.out.println(coupons.getCoupons().get("type"));
System.out.println(coupons.getCoupons().get("code"));

常に私をnullにします。このjsonの正しいJavaクラスは何でしょうか?

4

1 に答える 1

2

キーの最初のレベルはインデックス番号 1、2、3 などです。そのため、タイプとコードを取得するには、キーを特定する必要があります。

あなたはこれを行うことができます:

var coupons = coupons.getCoupons(); //<--breakpoint to see if this is really populated.
foreach( String key in coupons.Keys ){ //<- pseudo code, iterate over keys  
  var obj = coupons.get(key);
  var type = obj.get("type");
  etc..
}

これがあなたが先に進むのに役立つことを願っています

于 2012-04-15T11:39:04.293 に答える