簡體   English   中英

java org.json 比較對象

[英]java org.json compare object

我正在使用org.json將 XML 轉換為 JSON 並且我想對我的解析過程進行單元測試(使用JUnit )。
但是,當我嘗試使用json.equals比較對象json.equals它失敗了。 我知道jackson已經正確地實現了equals方法。 有沒有辦法用org.json單元測試對象的org.json

...
JSONObject actual = XML.toJSONObject(xml);
JSONObject expected = new JSONObject().put("key","val");
assertEquals(expected, actual); // false
assertEquals(expected.toString(), actual.toString()) // true

您需要使用 JSONassert,可在 github https://github.com/skyscreamer/JSONassert

您也可以嘗試使用 ModelAssert - https://github.com/webcompere/model-assert - 這看起來像這樣:

JSONObject actual = XML.toJSONObject(xml);
JSONObject expected = new JSONObject().put("key","val");
assertJson(actual)
   .isEqualTo(expected);

但是,鍵順序等內容可能會受到轉換為JSONObject 在這種情況下,您可以放寬密鑰順序:

assertJson(actual)
   .where().keysInAnyOrder()
   .isEqualTo(expected);

暫無
暫無

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

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