【问题标题】:How to PUT to specific Index of an Array in a JSON string, REST-API?如何 PUT 到 JSON 字符串 REST-API 中数组的特定索引?
【发布时间】:2021-03-28 07:48:01
【问题描述】:

使用 REST API 时,我如何发送一个 JSON 字符串,指定 PUT 到 shop 数组的索引 [0]?这可能在 JSON 字符串中吗?

这不是关于如何在 Javascript 中选择数组索引的问题。

{
    "Shops": {
        "Shop": [
            {
                ...stuff
                "reorderLevel": "3" // Put to index [0] of the Shop array?
            },
            {
                ...stuff
            }
        ]
    }
}

【问题讨论】:

  • 也许通过在您的 json 字符串中传递另一个参数?
  • 我猜这取决于API,我只是想知道是否有更通用的方法来指定字符串中的数组索引。
  • 但是,你是在第一个位置做的,所以我猜你的 API 会做那个 0 位置。
  • 是的,我就是这么想的,但不是。
  • 您可以访问您的 API 代码吗?

标签: json api rest


【解决方案1】:

使用 REST API 时,我如何发送一个 JSON 字符串,指定 PUT 到 shop 数组的索引 [0]?

你会做以下事情之一

使用 PUT,您将使用您想要进行的更改创建 整个 资源的新表示,然后在单个请求中将整个内容发送到服务器

您将计算一个补丁文档,它仅描述您想要对文档进行的更改,然后向服务器发送一个 PATCH 请求,其中包含您所做的更改的表示。

application/merge-patch+jsonapplication/json-patch+json 是最常见的两种格式。

据我所知,合并补丁不支持对数组的单个元素的引用:

如果补丁不是对象,结果将始终是用整个补丁替换整个目标。

JSON-patch 使用JSON pointers 来指定元素,并且有一个特定数组元素的 JSON 指针语法,所以你应该能够做到这一点。

【讨论】:

  • 好消息!谢谢
猜你喜欢
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-29
相关资源
最近更新 更多