0

我正在编写一个测试代码来比较 json 值。目前,它正在使用 JSONAssert 将我的 json 值与 api 响应进行比较并且工作正常。

但我认为响应 json 可能会更改以支持更多功能。然后 JSONAssert 可能会报告失败,因为存在预期之外的额外字段。

所以我想在使用 JSONAssert 之前制定一个逻辑来删除一些添加的元素。

有什么简单的方法可以从 json 中删除所需的字段吗?

示例)当前:{“field1”:“AAAA”,“field2”:“BBBB”} 下一个:{“field1”:“AAAA”, “field3”:“CCC”, “field2”:“BBBB”}

我想在使用它之前从 json 中删除“field3”。

4

1 回答 1

0

首先回答你的问题

我假设您已将 JSON 源字符串解析为 JavaScript 对象结构。因此,您可以执行以下操作:

// option 1
delete Next["field3"];

// option 2
delete Next.field3;

在大多数情况下,第一个选项应该更好,因为它允许您动态生成属性名称。

另一方面

如果您现在您的 JSON 数据可能包含预期之外的其他值,那么您的测试可能会被更改,或者您需要另一个测试。在单元测试的情况下(我假设你想在这里做)你应该在一个测试中只测试一个特定的东西。对于其他任何事情,您都应该编写额外的测试。

于 2013-03-13T21:28:17.557 回答