微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果 JSON-array 为空,则 TRESTResponseDataSetAdapter 向数据集添加一行

如何解决如果 JSON-array 为空,则 TRESTResponseDataSetAdapter 向数据集添加一行

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

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

如果我在数组中提供一些数据,我会在数据集中得到预期的行,但如果数组为空,我会得到一行似乎都是空值。

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

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

我使用的数据集是来自 TdxMemDataDevExpress。我最近从 Delphi 10.2 升级到 Delphi 10.4。事情在 10.2 上运行良好(即,如果 JSON 数组为空,则数据集也将为空),因此似乎在 10.3 或 10.4 中发生了一些变化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。