我正在尝试为我的项目添加“搜索”功能。我想要做的是仅搜索JSON对象的值,以便在评估对象的成员时,我的正则表达式不会尝试匹配属性名称。Javascript中只有从JSON对象中获取值的方法吗?
请看下面的例子:
var myObj = {
'FirstName': 'Joe',
'LastName': 'Jones',
'Age': 35,
'Address': {
'City': 'Boise',
'State': 'Idaho'
}
};
var myObjValues = JSON.stringify(myObj);
// result: "{"FirstName":"Joe","LastName":"Jones", etc... }"
不过,我希望得到的是一个字符串的所有值削平用空格隔开一个字符串(或逗号,或者半结肠,或标签)是这样的:
// result: "Joe Jones 35 Boise Idaho"
我永远不会知道对象是什么。在我上面的示例中,我使用了名称和地址,但对象可以是任何具有任何级别的嵌套对象的任何东西。我只想要最深的属性是字符串和数字。
有没有办法使用JSON对象做到这一点?有没有一个图书馆可以在某个地方做到这一点,我想写我自己的功能,去掉这些数据并自己构建字符串,但不想重新发明轮子。
在此先感谢您的任何提示或指示!
快速for..in循环应该做的伎俩。 – ajm
请注意wong2的回答中的评论:**“我想知道值的顺序是否重要?”**因为,如果确实如此,那么......好吧,您已经到了一条小溪。 – 2012-05-23 17:09:41
我刚刚更新了我的问题,表示我不知道对象是什么,也不知道嵌套对象的深度有多少。我不是一个Javascript大师,所以如果有一个库这样做,我更愿意使用它。感谢for循环的提示,但我的要求是多一点参与,我认为...(?) – Luc