[英]node js: access json if variable name in string?
我有以下JSON對象
var data = {
datetime:{
time:"9:30 AM",
date:"24-09-2017"
}
}
而且我有字符串var element = "data.datetime.time"
如何使用element訪問時間。
分割字符串(點作為分隔符),然后使用Array#reduce從對象中提取數據:
var data = { datetime:{ time:"9:30 AM", date:"24-09-2017" } } var element = "data.datetime.time"; var result = element.split('.').reduce(function(r, p) { return typeof r === 'object' ? r[p] : null; // if r is an object, return the prop value, if not return null }, { data: data }); console.log(result);
new Function(`return ${element}`)()
我剛剛找到了答案。
只需我們可以使用eval()
var data = {
datetime:{
time:"9:30 AM",
date:"24-09-2017"
}
}
var element = "data.datetime.time";
console.log(eval(element));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.