简体   繁体   English

Foreach元素Javascript json

[英]Foreach element Javascript json

I got a JSON like this: 我得到了这样的JSON:

{
    "email.com": ["email@email.com|username\r"],
    "email.de": ["email@email.de|username"]
}

I want to get it printet like this: 我想要这样的printet:

email.com email.com
email.de email.de

 var data = '{"email.com":["email@email.com|username\\r"],"email.de":["email@email.de|username"]}'; var obj = JSON.parse(data); for (i = 0; i < obj.length; i++) { document.getElementById('types').innerHTML += '<br>' + obj[i]; // I want to get email.com , email.de } 
 <div id="types"> </div> 

This works fine: 这工作正常:

 var data = '{"email.com":["email@email.com|username\\\\r"],"email.de":["email@email.de|username"]}'; var obj = JSON.parse(data); var keys = Object.keys(obj); for (i = 0; i < keys.length; i++) { document.getElementById('types').innerHTML += '<br>' + keys[i]; // I want to get email.com , email.de } 
 <div id="types"></div> 

var data = [{"email.com":["email@email.com|username\r"],"email.de":["email@email.de|username"]}];
var term = (Object.keys(data[0])[0]);

var obj = JSON.parse(data);
for (i = 0; i < obj.length; i++) {
  document.getElementById('types').innerHTML += '<br>' + obj[i][term]; // I want to get email.com , email.de
}

This should work 这应该工作

Printing object's keys and values 打印对象的键和值

Simple solution using String.match and Array.join functions: 使用String.matchArray.join函数的简单解决方案:

 var data = '{"email.com":["email@email.com|username\\r"],"email.de":["email@email.de|username"]}', emails = data.match(/\\w+\\.\\w+(?=\\":\\[)/g).join("<br>"); document.getElementById('types').innerHTML += '<br>' + emails; // 'emails' variable contains "email.com<br>email.de" 
 <div id="types"></div> 

quickly : 迅速地:

var obj = {
    "email.com": ["email@email.com|username\r"],
    "email.de": ["email@email.de|username"]
};
for (var prop in obj)  console.log(prop);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM