小编Nan*_*712的帖子

如何使用C#比较两个Json对象

我有两个Json对象需要进行比较.我正在使用Newtonsoft库进行Json解析.

string InstanceExpected = jsonExpected;
string InstanceActual = jsonActual;
var InstanceObjExpected = JObject.Parse(InstanceExpected);
var InstanceObjActual = JObject.Parse(InstanceActual);
Run Code Online (Sandbox Code Playgroud)

我正在使用Fluent Assertions对它进行比较.但问题是Fluent断言仅在属性count/names不匹配时才会失败.如果json值不同则会通过.当值不同时,我要求失败.

InstanceObjActual.Should().BeEquivalentTo(InstanceObjExpected);
Run Code Online (Sandbox Code Playgroud)

例如,我有实际和预期的json比较如下.并且使用上面的比较方式使得它们传递错误.

{
  "Name": "20181004164456",
  "objectId": "4ea9b00b-d601-44af-a990-3034af18fdb1%>"  
}

{
  "Name": "AAAAAAAAAAAA",
  "objectId": "4ea9b00b-d601-44af-a990-3034af18fdb1%>"  
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing json.net assertion fluent-assertions

6
推荐指数
2
解决办法
5937
查看次数