1

TRESTResponseDataSetAdapterwithがRootElement = 'testdata'あり、次の JSON を提供すると、接続されたデータセットに行が追加されます。

   RESTResponseDataSetAdapter1.ResponseJSON := TRESTResponseJSON.Create(
      Form1,
      TJSONObject.ParseJSONValue('{"testdata":[]}'),
      true
   );

配列にデータを提供すると、データセットに期待される行が取得されますが、配列が空の場合は、すべて null 値のように見える行が取得されます。

空のデータセットを取得する唯一の方法は、{"testdata":[,]}たとえば、無効なものを提供することです。これにより、エラーを生成することなく空のデータセットが得られます。

これは予想される動作ですか?そうでない場合、ここで何が問題になる可能性がありますか? を変更してみましたTypesModeが、どの設定でも同じ結果が得られます。

私が使用しているデータセットはTdxMemDatafromDevExpressです。最近、Delphi 10.2 から Delphi 10.4 にアップグレードしました。10.2 では正常に動作していた (つまり、JSON 配列が空の場合、データセットも空になる) ため、10.3 または 10.4 で何かが変更されたようです。

4

0 に答える 0