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データに予想以外の値が含まれている可能性がある場合は、テストが変更されているか、別のテストが必要です。ユニットテスト(ここでやりたいと思うこと)の場合、1つのテストで特定の1つだけをテストする必要があります。それ以外の場合は、追加のテストを作成する必要があります。

于 2013-03-13T21:28:17.557 に答える