如果我有一个TRESTResponseDataSetAdapter
withRootElement = '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 中似乎发生了一些变化。