如何解析字符串输入以匹配json中的字段?

如何解析字符串输入以匹配json中的字段?,json,node.js,string,parsing,field,Json,Node.js,String,Parsing,Field,我知道这个问题很模糊,所以我会详细说明: 我想解析用户输入的字符串,并使其成为可以作为json的一部分访问的有效字段名。 例子: 假设我们有这个json: var user = { id: 1, email: 'some@email.com', name: { first: 'stack', last: 'overflow' } }; 假设用户输入以下内容: 输入有效字段:“name.first” 我希望应用程序返回以下内容: 首先返回

我知道这个问题很模糊,所以我会详细说明:

我想解析用户输入的字符串,并使其成为可以作为json的一部分访问的有效字段名。


例子: 假设我们有这个json:

var user = 
{
   id: 1,
   email: 'some@email.com',
   name:
   {
      first: 'stack',
      last: 'overflow'
   }
};
假设用户输入以下内容:

输入有效字段:“name.first”

我希望应用程序返回以下内容:

首先返回user.name.first

或者可以互换:

返回用户['name']['first']

如果没有循环和难看的代码,我怎么做?

我这么问是因为我在几个开源插件中看到了它,比如,在那里你可以按照我希望我的用户的方式输入

顺便说一句,我不擅长用英语解释自己,所以如果你不明白,请批评我,我会尝试重新措辞

提前谢谢

Amit

您可以尝试以下方法:

var your_string = user_input;
return eval ("user." + your_string);

我用一个json文件试过了,效果很好。

快速搜索
javascript字符串到点符号
会得到很多结果。有多种方法可以做到这一点,但有些人说这样做实际上是不好的。(如果需要使用,则应用程序设计不好)性能也不好wise@Molda事实上,我认为这对性能不利。我要想个更好的办法。谢谢你的回答。