在配置文件中,我有几个变量。
{
"key1": "aaa",
"key2": {"smallkey1": "bbb", "smallkey2": "ccc"}
}
我需要通过smallkey2
请求(API义务)来更新patch
的值。
const updateConfigVar = (finaltarget, newdata) => {
HTTP.call( 'PATCH', 'https://api.xxx.com/apps/', {
headers: {
"Content-Type": "application/json"
},
data: {
[finaltarget]: newdata,
}
})
}
如果我致电updateConfigVar('key2', 'ddd')
,我会得到:
{
"key1": "aaa",
"key2": "ddd"
}
但是如何不替换全部key2
对象,而仅替换smallkey2
对象内部的key2
值。
如何获得:
{
"key1": "aaa",
"key2": {"smallkey1": "bbb", "smallkey2": "ddd"}
}
答案 0 :(得分:1)
但是如何不替换全部key2对象,而是仅替换key2对象中smallkey2的值。
通常,如果我们使用HTTP Patch将更改传达给服务器
这组更改以一种称为“补丁文件”的格式表示,该格式由媒体类型标识。
您可能不希望使用application/json
作为媒体类型,因为JSON的处理规则并非特定于修补。更好的选择是使用application/json-patch+json
(由RFC 6902描述)或application/merge-patch+json
(由RFC 7386描述)。
每种方法都有自己的特定语义,用于描述对嵌套键的编辑。