1

如果我有一个TRESTResponseDataSetAdapterwithRootElement = 'testdata'并为它提供以下 JSON,它会向连接的数据集添加一行。

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

如果我在数组中提供一些数据,我会在数据集中得到预期的行,但如果数组是空的,我会得到一个看起来全是空值的行。

似乎获得空数据集的唯一方法是提供一些无效的东西,{"testdata":[,]}例如。这给了我一个空数据集而不会产生任何错误。

这是预期的行为吗?如果不是,这里可能是什么问题?我尝试过更改,TypesMode但无论使用哪种设置,我都会得到相同的结果。

我使用的数据集是TdxMemData来自DevExpress. 我最近从 Delphi 10.2 升级到了 Delphi 10.4。在 10.2 上一切正常(即如果 JSON 数组为空,则数据集也将为空),因此在 10.3 或 10.4 中似乎发生了一些变化。

4

0 回答 0