Javascript 如何访问嵌套JSON中的值,并将所有字段连接到Angular中?
假设我在这个变量Javascript 如何访问嵌套JSON中的值,并将所有字段连接到Angular中?,javascript,json,angular,nested,concat,Javascript,Json,Angular,Nested,Concat,假设我在这个变量person中有这个JSON: { "firstName": "First Name" "lastName": "Last Name" "address": { "city": "New-York", "street": "Some Street" } } 现在,如果我想要street的值,我所要做的就是person[address][street] 我想知道是否有一种简单的方法可以做到这一点,假设我将所有字段连接
person
中有这个JSON:
{
"firstName": "First Name"
"lastName": "Last Name"
"address": {
"city": "New-York",
"street": "Some Street"
}
}
现在,如果我想要street
的值,我所要做的就是person[address][street]
我想知道是否有一种简单的方法可以做到这一点,假设我将所有字段连接起来,如:
const index = 'address:street'
我正在寻找一种实现该值的简单方法,如person[index]
有没有办法做到这一点?谢谢 如果您有一个字符串变量,该变量包含按如下顺序访问值所需的所有字段(用点分隔的字段): 然后,您可以使用javascript中的eval函数获取请求的值:
eval("person."+index);
这将返回所需的结果:“Some street”。不确定这是否是您所追求的,但这将起作用:
const cstring = "value1:value2:value3";
const [one, two, three] = cstring.split(':');
console.log(one) // 'value1'
这样就使用了阵列分解。找到了答案,我安装了,然后:
import _ from 'lodash';
const person = {
"firstName": "First Name"
"lastName": "Last Name"
"address": {
"city": "New-York",
"street": "Some Street"
}
}
const index = 'address.street'; // changed it to be split by . instead of :
_.get(person, index);
第一个问题是。。。为什么?如果我能
person.address.street
,我宁愿不中断连接以获得值?我事先不知道字段,因此出现了问题。数据到底是什么样的?请包含一个预期输出的示例输入。有没有不使用eval的方法?@mightgood是的,let street=address.street代码>我事先不知道字段,因此出现了问题。
import _ from 'lodash';
const person = {
"firstName": "First Name"
"lastName": "Last Name"
"address": {
"city": "New-York",
"street": "Some Street"
}
}
const index = 'address.street'; // changed it to be split by . instead of :
_.get(person, index);