如何解析字符串输入以匹配json中的字段?
我知道这个问题很模糊,所以我会详细说明: 我想解析用户输入的字符串,并使其成为可以作为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:
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事实上,我认为这对性能不利。我要想个更好的办法。谢谢你的回答。