2016-07-27 5 views
0

複雑なjsonをJavaの
オブジェクトに変換する際に直面する問題がここにあります。 SCはそのフィールドなどのJavaキーワードは、プライベートとパブリック持っていることをオブジェクト構造のミスマッチの問題jsonからJsonメソッド

{ 
    "view": {  
     "unit": { 
      "sc": { 
       "private": 6, 
       "public": 6 
      }, 
     "step": "PREPARE", 
     "id": 3037, 
    ..... 
} 

お知らせ:

の着信JSONはこのようなものです。
クライアント側では、このjsonを使用する次のコードがあります。

String obj = restTemplate.postForObject(url, entity, String.class);  
JsonObject jsonObj = new JsonParser().parse(obj).getAsJsonObject();  
T objFinal = buildGson(dateFormat).fromJson(jsonObj, PrepareStateObject.class); 

PrepareStateObjectは、対応するjsonと同じですが、唯一の違いはscオブジェクトです。

public class sc implements java.io.Serializable { 
    private static final long serialVersionUID = -952803010396503926L; 
    private static final Logger log = LoggerFactory.getLogger(sc.class);  
    private Integer _public;  
    private Integer _private; 
    //.... 
}  

私がjsonObjを調べると、私はscオブジェクトでjson全体を見ることができます。 期待どおり、fromJsonメソッドは、フィールド名の不一致のためにscオブジェクトに値を設定できません。
jacksonのようなマッパーを使わないとどうすればいいですか?私はジャクソンにJsonPropertyに相当しGsonパーサの@SerializedNameアノテーションを使用してそこに探していたもの

+0

ここでスタックトレースを共有できますか? – sparrow

+0

解決策が見つかりました... – user3630294

答えて