Json Array对象为字符串逻辑

时间:2015-11-03 06:33:53

标签: javascript jquery

不确定我是否在重复这个问题或概念。

如何将以下示例转换为以下字符串格式(可能不是正确的JSON格式)

[{ "Name":"Test1","check":"true},{ "Name":"Test2","check":"true},{ "Name":"Test3","check":"false"}]

字符串格式,附加 - 表示错误

预期o / p:

"Test1","Test2","-Test3"

我尝试过连接,但它总是以

结束
"Test1,Test2-Test3"

但我正在寻找用逗号分隔的3个单独的字符串。任何暗示都会有所帮助

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的格式以使其有效。

如果你真的有一个字符串truefalse,并且你无法改变这一点,你可以简单地将它作为一个字符串进行比较:



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);