簡體   English   中英

json反序列化器插入目標對象

[英]json Deserializer in to target object

您能推薦一個可以反序列化到現有對象( 合並2個對象 )的Json Deserializer嗎?
當用戶提交表單時,我想通過以下方式將其保存到數據庫中:

這是來自客戶端的json:

{"affiliateId":1,"name":"First Affiliate","email":"email@gmail.com","user.userName":"test","user.password":"pass-hashed","employee.employeeId":1}


Affiliate affiliateFromDb = affiliateApi.getFromDbById(1);

SomeDeserialization json = new SomeDeserialization();
affiliateFromDb = json.fromJson(affiliateFromJson  , affiliateFromDb );//affiliateFromDb = target bean

這意味着我希望將affiliateFromJson插入到affiliateFromDb中。
然后我會打電話給

 affiliateApi.save(affiliateFromDb);

請注意,json包含深層反序列化user.userName

謝謝

使用Gson 特別是,請參閱對象示例

class BagOfPrimitives {
  private int value1 = 1;
  private String value2 = "abc";
  private transient int value3 = 3;
  BagOfPrimitives() {
    // no-args constructor
  }
}

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);   

唯一要注意的是-您使用的非標准“深層”對象格式是任何其他JSON(de)序列化器都會遇到的相同問題。 您將不得不使用如下所示的內容:

{"affiliateId":1,"name":"First Affiliate","email":"email@gmail.com","user": {"userName":"test","password":"pass-hashed"},"employee.employeeId":1}

http://www.json.org/javadoc/org/json/JSONObject.html

JSONObject jsonResponse = new JSONObject(responseString);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM