不确定我是否在重复这个问题或概念。
如何将以下示例转换为以下字符串格式(可能不是正确的JSON格式)
[{ "Name":"Test1","check":"true},{ "Name":"Test2","check":"true},{ "Name":"Test3","check":"false"}]
字符串格式,附加 - 表示错误
预期o / p:
"Test1","Test2","-Test3"
我尝试过连接,但它总是以
结束"Test1,Test2-Test3"
但我正在寻找用逗号分隔的3个单独的字符串。任何暗示都会有所帮助
答案 0 :(得分:2)
您可以简单地遍历数组并以所需格式收集对象:
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);

答案 1 :(得分:0)
<强> HTML 强>
Refuse direct access to all files
Order deny,allow
Deny from all
Allow from 127.0.0.1
<强>的Javascript 强>
uploads/files/
您的输出符合预期。
答案 2 :(得分:0)
只需循环遍历有效的JSON数组(obj),并根据条件将所需的值(obj.Name)附加到空字符串(str)(附加&#39; - &#39; for&#39;虚假&#39; obj.check的价值)。
var obj = [{
"Name" : "Test1",
"check" : true
}, {
"Name" : "Test2",
"check" : true
}, {
"Name" : "Test3",
"check" : false
}
];
var str = '';
for(var x in obj){
str += (obj[x].check === true) ? obj[x].Name : '-'+obj[x].Name;
str += (x != (obj.length-1)) ? ',' : '';
}
alert(str);