gpt4 book ai didi

arrays - 在数据存储中的 JSON 类型字段中插入空数组

转载 作者:行者123 更新时间:2023-12-02 09:01:35 34 4
gpt4 key购买 nike

我在资源数据存储中定义了一个名为“value”的 JSON 类型字段(以及其他一些字段)。如果我使用简单值或非空数组运行更新插入,则一切正常:

POST http://host/api/3/action/datastore_upsert
{
"resource_id": "...",
"records": [
{ "value": [ "1", "2" ] }
],
"method": "insert",
"force": "True"
}

POST http://host/api/3/action/datastore_upsert
{
"resource_id": "...",
"records": [
{ "value": "23" }
],
"method": "insert",
"force": "True"
}

但是,如果我使用空数组

POST http://host/api/3/action/datastore_upsert
{
"resource_id": "...",
"records": [
{ "value": [ ] }
],
"method": "insert",
"force": "True"
}

我收到以下错误:

{
...
"success": false,
"error": {
"info": {
"orig": [
"malformed record literal: \"{}\"\nLINE 2: VALUES (NULL, NULL, NULL, NULL, '{}', NULL, to_t...\n ^\nDETAIL: Missing left parenthesis.\n"
]
},
"__type": "Validation Error",
"data": "(DataError) malformed record literal: \"{}\"\nLINE 2: VALUES (NULL, NULL, NULL, NULL, '{}', NULL, to_t...\n ^\nDETAIL: Missing left parenthesis.\n"
}
}

鉴于 [ ] 是 JSON 中的有效元素,我想知道为什么会发生此错误。这是 CKAN 数据存储 API 中的已知问题/错误吗?

最佳答案

谢谢!您发现了一个错误。我将其修复为 https://github.com/ckan/ckan/pull/1776并发送了拉取请求。这将由另一个核心开发人员审核,并将很快合并。

如果您有时间,测试该分支以确认它可以解决此问题将会很有用。如果您这样做,请在拉取请求中添加评论。

干杯!

关于arrays - 在数据存储中的 JSON 类型字段中插入空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207065/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com