提问人:Solon 提问时间:5/23/2023 更新时间:10/4/2023 访问量:144
通过字符串路径访问和修改 JSON 对象
Access and modify JSON-Object via string path
问:
我的问题很简单,但网络上似乎没有人回答它,我无法理解它。
我基本上想编写一个 setter 函数,它接受一个 JSON 对象并将键设置为一个值,无论路径是否已经存在。
变式1:
setPath(payload: Object, path: string, value: any) {
// ???
}
obj: Object = {}
newObj: Object = setPath(obj, "foo.bar[0], "wut");
变式2:
setPath(payload: Object, path: string, value: any){
// ???
}
obj: Object {
foo: {
bar: []
}
}
newObj: Object = setPath(obj, "foo.bar[0]", "wut");
其中,它们都会导致 JSON-Object 如下所示:
{
foo: {
bar: [
"wut"
]
}
}
感谢您的帮助
答:
2赞
Solon
5/23/2023
#1
感谢@cmgchess,
https://youmightnotneed.com/lodash#set
在这个链接中,你可以找到一个普通的 JavaScript 解决方案,或者像我一样,只使用 lodash 提供的方法
评论