【发布时间】:2018-03-15 14:58:29
【问题描述】:
如何将点键转换为 javascript 对象并保留其值?
所以我从一个 API 得到了这种响应,我需要通过 key 解析它:value。
{
"property": "personal_info.address.city",
"description": "Missing field"
},
{
"property": "personal_info.address.country",
"description": "Missing field"
},
所以我做到了:
{
'personal_info.address.city': 'Missing field',
'personal_info.address.country': 'Missing field'
}
// by using this code (lodash)
_.mapValues(_.keyBy(obj, 'property'), function(o) {
return o.description;
})
但是,我需要它是这样的:
{
personal_info: {
address: {
city: 'Missing field',
country: 'Missing field',
}
}
}
我以某种方式在 stackoverflow 中搜索了如何将点符号字符串转换为对象: Convert string with dot notation to JSON
但由于我要更改密钥本身,所以我被卡住了。
编辑: 更改了测试城市和测试国家以反映描述字段(对不起)
【问题讨论】:
-
为什么
country没有嵌套在address中?country中的city来自哪里?你如何从Missing field到test city?请更准确。 -
@str 我的错误,一开始我没有注意到。我已经编辑了我的问题。谢谢!
标签: javascript lodash