ลอง SkyScreamer ของJSONAssert
มันไม่ใช่อย่างเข้มงวดโหมดมีสองข้อได้เปรียบที่สำคัญที่จะทำให้มันเปราะน้อย:
- ความสามารถในการขยายออบเจ็กต์ (เช่นด้วยค่าที่คาดหวังของ{id: 1}สิ่งนี้จะยังคงผ่าน: {id: 1, moredata: 'x'} )
- การเรียงลำดับแบบหลวม ๆ (เช่น ['dog', 'cat'] == ['cat', 'dog'])
ในโหมดเข้มงวดจะทำงานเหมือนคลาสทดสอบของ json-lib
การทดสอบมีลักษณะดังนี้:
@Test
public void testGetFriends() {
JSONObject data = getRESTData("/friends/367.json");
String expected = "{friends:[{id:123,name:\"Corby Page\"}"
+ ",{id:456,name:\"Solomon Duskis\"}]}";
JSONAssert.assertEquals(expected, data, false);
}
พารามิเตอร์ในการเรียก JSONAssert.assertEquals () คือ expectedJSONString , actualDataStringและisStrict
ข้อความผลลัพธ์ค่อนข้างชัดเจนซึ่งเป็นสิ่งสำคัญเมื่อเปรียบเทียบออบเจ็กต์ JSON ขนาดใหญ่จริง ๆ
toString()
การแปลงวัตถุเป็นJSON
สตริง