0

これは、Hibernate にマップしたクラスの一部です。

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;

しかし、このクラスを JSon にマップしようとすると、常にスタックがあります。Jackson Mapper、Genson、および Google Gson を使用していましたが、このコードをマップできません (または、これをマップする方法がわかりません)。この種のセットを適切にマッピングする方法を誰か教えてもらえますか?

4

1 に答える 1

0

あなたのjsonフォーマットがこのようなものであると仮定します

 {
   "literatures":[
      {
         "id":10,
         "name":"abc"
      }
   ],
   "recycleFacilities":[
      {
         "id":20,
         "name":"testFaculty"
      }
   ],
   "assents":[
      {
         "id":30,
         "name":"Test"
      }
   ]
}

オブジェクトモデルクラスが次のように別のクラスで構成されていると仮定します

Class Another{ 

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Literature> literatures;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<RecycleFacility> recycleFacilities;

@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="hall_id")

Set<Assent> assents;
// getter/setter
}

次に、以下のように、休止状態のオブジェクト モデルを解析および設定できます。

Another response = gson.fromJson(reader, Another.class);

以下のようにモデルからjsonを作成できます

Gson gson = new Gson();
String jsonString= gson.toJson(yourObject);
于 2013-11-20T20:33:20.333 に答える