簡體   English   中英

節點js:如果字符串中的變量名訪問json?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM