首页 > 解决方案 > 如何 PUT 到 JSON 字符串 REST-API 中数组的特定索引?

问题描述

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

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

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

标签: jsonapirest

解决方案


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

你会做以下事情之一

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

或者

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

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

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

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

JSON-patch 使用JSON 指针来指定元素,并且针对特定数组元素有 JSON 指针语法,因此您应该能够做到这一点。


推荐阅读