JSON Patch 规范的解释

2024-02-21

我有一个关于 JSON Patch 的解释的问题(RFC 6902 https://www.rfc-editor.org/rfc/rfc6902).

假设我有一个如下所示的资源:

{
   "type": "assembly",
   "uri": "http://example.com/campSrv/Assembly/18",
   "name": "/sample",
   "description": "Hello, World Application",
   "created": "2013-03-27T16:15Z",
   ...
}

该资源的定义表明它可以有一个名为“tags”的值,该值被定义为字符串数组。但是,该资源当前没有标签,因此我的服务不会序列化不存在的数组。

现在假设我提交以下 HTTP PATCH 请求:

PATCH http://example.com/campSrv/Assembly/18 HTTP/1.1
Content-Type: application/json-patch

[
  { "op": "add", "path": "/tags/0", "value": "flobbit" }
]

这是否应该创建“tags”数组并将“flobbit”添加为第一个/唯一的元素,还是我的服务器应该返回错误?


以我的理解...

您的补丁将导致错误,因为tags不存在,并且不能添加到尚不存在的数组中。

RFC 6902 4.1 https://www.rfc-editor.org/rfc/rfc6902#section-4.1

...

但是,对象本身或包含它的数组确实需要
存在,如果情况并非如此,则仍然是一个错误。为了
例如,目标位置为“/a/b”的“add”以此开头 文档:

{ “a”: { “foo”: 1 } }

不是错误,因为“a”存在,并且“b”将添加到其
价值。这篇文档中有一个错误:

{ “q”:{ “酒吧”:2 } }

因为“a”不存在。

然而,这个补丁将添加一个tags值为"flobbit".

[
  { "op": "add", "path": "/tags", "value": "flobbit" }
]

并且这个补丁会添加tags数组,第一个元素是"fobbit".

[
  { "op": "add", "path": "/tags", "value": ["flobbit"] }
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON Patch 规范的解释 的相关文章

  • 用数组反向查找对象

    假设我有一个这样的对象 resourceMap a 0 1 2 3 4 5 6 7 8 9 10 b 11 12 c 21 23 d 54 55 56 57 510 确定是否的最佳方法是什么resourceId 21将会 c 我们不知道钥匙
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • PHP 不使用“json_decode()”转换 JSON

    我有一段非常简单的代码 pc1 POST post code1 pc2 POST post code2 url http maps google com maps nav q from pc1 20to pc2 url data file
  • 在 swift 中发送自定义 HTTP 标头

    我设法从服务器获取 json 但现在我想通过 http 标头添加额外的安全性 这就是我的代码现在的样子 let urlPath http www xxxxxxxx com let url NSURL string urlPath let s
  • Spring JSON序列化、Gson反序列化

    我目前在某些内部对象的反序列化方面遇到问题 在春天 我在使用输出之前初始化所有对象 ResponseBody 例如 这是一个响应 id 1 location id 1 extra location data id 2 location 1
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的
  • MongoDB 中有内置的 JSON.parse 吗?

    是否有任何 Mongo 命令行 函 数可以将字符串转换为对象 例如JSON parse 或类似的东西 db sessions update set extra JSON parse stringData 我的解决方案 function my
  • 打印对象的键和值

    我想从 javascript 对象打印一个键 值对 我的数组中可以有不同的键 因此无法将其硬编码为 object 0 key1 var filters user abc application xyz console log Object
  • 将 Gson 与路径一起使用

    使用简单的 Json 文件 例如 menu id file value File popup menuitem value New onclick CreateNewDoc value Open onclick OpenDoc value
  • 如何从 Python 返回 JSON 值?

    我从如下所示的 jQuery 文件发送 ajax 请求 该请求需要 JSON 格式的响应 jQuery ajax url Control getImageDetails file id currentId type GET contentT
  • 如何读取通过追加行不断更新的文件?

    在我的终端中我正在运行 curl user dhelm 12345 https stream twitter com 1 1 statuses sample json gt raw data txt curl 的输出是实时流式 Twitte
  • Dapper 在执行时挂起

    我有一个 IDb连接 sql UPDATE 表名 SET json json lastupdate SYSDATE WHERE id id var param new DynamicParameters param Add json jso
  • 在 powershell 3 中美化 json

    给定一个标准 json 字符串值 jsonString baz quuz cow moo cud foo bar 我怎样才能让这一切都漂亮的换行符 最好没有强力正则表达式 到目前为止我发现的最简单的方法是 jsonString Conver
  • 使用 Swift 4 的 Decodable 解码 Void

    我有一个通用的 REST 请求 struct Request
  • Chart.js 圆环图无法正常工作

    我正在尝试使用 Chart js 圆环图 我的 JSON 数据是从数据库中正确获取的 但在值填充时图表将不会显示 如果我粘贴静态示例代码 那么它会显示正确的数据 function playerPrel2Res qID var tmp pla
  • 将 JSON 字符串转换为 NSDictionary 时,并非所有键都起作用

    我使用以下代码将 JSON 字符串文字转换为包含每个项目的 NSDictionary 的数组 NSString json name Item 1 id 999 lang en type A version 15 NSData data js
  • 使用 System.Json 迭代 JSON

    我正在探索 NET 4 5 的功能System Json库 但没有太多文档 而且由于流行的 JSON NET 库 搜索起来相当棘手 我基本上想知道 我如何循环一些 JSON 例如 People Simon Age 25 Steve Age
  • 无法验证 serde:org.openx.data.jsonserde.jsonserde

    我编写了这个查询来在配置单元上创建一个表 我的数据最初是 json 格式 所以我已经下载并构建了 serde 并添加了它运行所需的所有 jar 但我收到以下错误 FAILED Execution Error return code 1 fr
  • 如何自动加载 Webpack 中给定目录中的所有 JSON 文件? [复制]

    这个问题在这里已经有答案了 编辑 有一个现有的问题 https stackoverflow com questions 29421409 how to load all files in a subdirectories using web

随机推荐