我正在尝试找出修补一组对象的最佳方法。我正在尝试更改多个对象的排序顺序,并认为 jsonpatch 可能是正确的方法。我的对象看起来像:
[
{
"ID": "100",
"FirstName": "John",
"LastName": "Smith",
"Email": "jsmith@test.com",
"SortOrder": 1
},
{
"ID": "125",
"FirstName": "John",
"LastName": "Doe",
"Email": "jdoe@test.com",
"SortOrder": 3
},
{
"ID": "50",
"FirstName": "james",
"LastName": "johnson",
"Email": "jjohnson@test.com",
"SortOrder": 2
},
]
我创建了一个端点,允许补丁请求使用 jsonpatch 请求更新集合中的多个对象,如下所示:
[
{
"op": "replace",
"path": "/1/SortOrder",
"value": 2
},
{
"op": "replace",
"path": "/0/SortOrder",
"value": 1
},
{
"op": "replace",
"path": "/2/SortOrder",
"value": 3
}
]
我想要做的是在 jsonpatch 路径中使用 ID 属性。我当前的对象结构可能吗?它看起来像:
[
{
"op": "replace",
"path": "/125/SortOrder",
"value": 2
},
{
"op": "replace",
"path": "/100/SortOrder",
"value": 1
},
{
"op": "replace",
"path": "/50/SortOrder",
"value": 3
}
]
我需要做什么才能提出这样的补丁请求?
最佳答案
基于Json pointer RFC ,无法通过某些属性从数组中选择元素。自 JSON Patch使用 JSON 指针,你就不走运了。
很遗憾 JSON 补丁人员没有选择 JSON Path ,或类似的东西,用于选择语言。
关于c# - 通过对象 ID 更新数组对象的 jsonpatch 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009349/