1

次のタイプの応答を返すエンドポイントがあります。

"0": {
  "array": [
    "items",
    2,
    "item1",
    "item2"
  ]
}

現在、私は次のような協定マッチャーを書いています:

o.object("0", o1 -> {
  o1.array("array", a1 -> {
    a1.stringValue("items");
    a1.numberType(2);
    a1.stringType("item1");
    a1.stringType("item2");
  });
});

これは、プロバイダーが配列内の要素の正確な数を返す場合にのみ機能します。プロバイダーが項目の 1 つを返さない場合は機能しません。たとえば、次のようになります。

"0": {
  "array": [
    "items",
    1,
    "item1"
  ]
}

または、プロバイダーが余分なアイテムを返す場合:

"0": {
  "array": [
    "items",
    3,
    "item1",
    "item2",
    "item3"
  ]
}

1 番目の要素は固定され、2 番目の要素は返されるアイテムの数を示し、アイテムと同じ数の要素が続きます。

これにマッチャーを書くにはどうすればよいですか?ありがとう。

4

1 に答える 1