Javascript 如何从JSON循环并保存数组中的值
我试图从外部json文件中获取值,并在数组中保存一些值。我的代码:Javascript 如何从JSON循环并保存数组中的值,javascript,arrays,json,ajax,Javascript,Arrays,Json,Ajax,我试图从外部json文件中获取值,并在数组中保存一些值。我的代码: $.getJSON("https://link.to.my.json", function(data) { console.log(data); // this will show the info it in console }); 所以我可以从json获取数据,但我不确定如何将名字和姓氏添加到数组[bob rooppo,peter sticker]。任何帮助都将不胜感激 还有我的json: { "users"
$.getJSON("https://link.to.my.json", function(data) {
console.log(data); // this will show the info it in console
});
所以我可以从json获取数据,但我不确定如何将名字和姓氏添加到数组[bob rooppo,peter sticker]。任何帮助都将不胜感激
还有我的json:
{
"users": [
{
"test": "123",
"name": {
"first": "bob",
"last": "roppo"
},
"email": "bob@gmail.com",
"phone": "+123456789"
},
{
"test": "124",
"name": {
"first": "peter",
"last": "sticer"
},
"email": "peter@gmail.com",
"phone": "+123456789"
}
]
}
您可以使用
map
data.users.map( s => ( s.name.first || "" ) + " " + ( s.name.last || "" ) );
如果两个属性值始终存在,则无需短路
data.users.map( s => s.name.first + " " +s.name.last );
演示
var数据={
“用户”:[
{
“测试”:“123”,
“姓名”:{
“第一”:“鲍勃”,
“最后”:“roppo”
},
“电子邮件”:bob@gmail.com",
“电话”:“+123456789”
},
{
“测试”:“124”,
“姓名”:{
“第一”:“彼得”,
“last”:“sticer”
},
“电子邮件”:peter@gmail.com",
“电话”:“+123456789”
}
]
};
var输出=data.users.map(s=>s.name.first+“”+s.name.last);
控制台日志(输出)代码>您可以简单地使用:
演示:
const数据={
“用户”:[
{
“测试”:“123”,
“姓名”:{
“第一”:“鲍勃”,
“最后”:“roppo”
},
“电子邮件”:bob@gmail.com",
“电话”:“+123456789”
},
{
“测试”:“124”,
“姓名”:{
“第一”:“彼得”,
“last”:“sticer”
},
“电子邮件”:peter@gmail.com",
“电话”:“+123456789”
}
]
};
让结果=data.users.map(e=>(e.name.first?e.name.first:“”)+(e.name.first?“”:“”)+(e.name.last?e.name.last:“”));
控制台日志(结果)代码>您可以使用forEach()
:
var json={
“用户”:[
{
“测试”:“123”,
“姓名”:{
“第一”:“鲍勃”,
“最后”:“roppo”
},
“电子邮件”:bob@gmail.com",
“电话”:“+123456789”
},
{
“测试”:“124”,
“姓名”:{
“第一”:“彼得”,
“last”:“sticer”
},
“电子邮件”:peter@gmail.com",
“电话”:“+123456789”
}
]
}
var-res=[];
json.users.forEach(函数(p){
变量名称=p.name.first+“”+p.name.last;
res.push(名称);
});
控制台日志(res)代码>不要忘记名字和姓氏之间的空格;)
data.users.map(e =>
(e.name.first ? e.name.first : '') + //Handles the first name
(e.name.first ? ' ' : '') + //Space between the names
(e.name.last ? e.name.last : '') //Handles the last name
);