[英]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 这应该工作
Simple solution using String.match
and Array.join
functions: 使用String.match
和Array.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.