亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 和 c# 中的序列化集成解決方案?

Java 和 c# 中的序列化集成解決方案?

千萬里不及你 2022-08-03 16:05:41
我有兩個應用程序,一個是用c#構建的,另一個是用JAVA構建的。它們都有一個“compareJsonService”,并且邏輯相同。邏輯細節:public void compareJsonService(int id,Person personFromCenter){    PersonDTO person = personRepository.getByPK(id);    if(!person.getJson().equals(JsonUtil.serialize(personFromCenter)){        personRepository.updatePerson(convertPersonToDTO(personFromCenter,person));    }}對象 personFromCenter 是唯一的,無論是在 java 應用還是 c# 應用中。他們通過pk從數據庫中獲取personDTO,并比較字段json,當結果為fasle時,然后更新。但是序列化的結果并不相等,我認為這是由java和c#的序列化機制不同引起的。他們都使用equals方法來比較輸出,然后總是得到false(因為他們的序列化字符串比較值不同),所以,他們總是更新。問題是,我想要一個解決方案,比如一個restful接口,它傳遞Person對象并返回一個json String,所以無論Java還是c#使用此服務,它們都會獲得相同的序列化輸出。那么,在我把所有的c#代碼遷移到Java之前,有多少解決方案可以解決問題呢?哪一個是最簡單的方法?
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

只需將 json 字符串轉換為對象(例如,使用 Java 中的 Jackson 庫)并比較結果 Java/C# Object 即可。即使您在json字符串中得到不同的順序,如果你比較對象,你應該能夠知道它們是否相等。


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號