不知道我是否要重复这个问题或概念。
如何将以下示例转换为以下字符串格式(可能不是正确的JSON格式)
[{ "Name":"Test1","check":"true},{ "Name":"Test2","check":"true},{ "Name":"Test3","check":"false"}]
带追加的字符串格式-表示false
预期输出:
"Test1","Test2","-Test3"
我尝试了级联,但总是以
"Test1,Test2-Test3"
但是我正在寻找3个用逗号分隔的单独字符串。任何提示都会有所帮助
最佳答案
您可以简单地遍历数组并以所需的格式收集对象:
var obj = [{
"Name" : "Test1",
"check" : true
}, {
"Name" : "Test2",
"check" : true
}, {
"Name" : "Test3",
"check" : false
}
];
var result = obj.map(function(x) {
return x.check ? x.Name : "-" + x.Name;
});
document.body.innerHTML = JSON.stringify(result);
请注意,我更改了JSON的格式以使其有效。
万一您实际上有一个字符串
true
和false
,并且您不能更改它,则可以简单地将它作为字符串进行比较:var obj = [{
"Name" : "Test1",
"check" : "true"
}, {
"Name" : "Test2",
"check" : "true"
}, {
"Name" : "Test3",
"check" : "false"
}
];
var result = obj.map(function(x) {
return x.check === 'true' ? x.Name : "-" + x.Name;
});
document.body.innerHTML = JSON.stringify(result);
关于javascript - JSON数组对象到字符串逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33492778/