Javascript 将JSON中的字符串csv转换为数组变量
我有以下JSON数据:Javascript 将JSON中的字符串csv转换为数组变量,javascript,json,csv,Javascript,Json,Csv,我有以下JSON数据: [ { "Title": "PAGE A", "Users": "USRA" }, { "Title": "PAGE B", "Users": "USRA,USRB" } ] 将带有“,”的字段转换为数组的最佳方法是什么?并使用javascript获取: [ { "Title": "PAGE A", "Users": "USRA"
[
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
]
将带有“,”的字段转换为数组的最佳方法是什么?并使用javascript获取:
[
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": ["USRA","USRB"]
}
]
你可以做:
data = [
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
]
data.forEach(function(item) {
// the if clause keeps the single user outside of an array
if (item.Users && item.Users.indexOf(',') >= 0) {
item.Users = item.Users.split(',');
}
})
如果希望保持一致的数据类型(使用户
属性始终为数组
):
你可以做:
data = [
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
]
data.forEach(function(item) {
// the if clause keeps the single user outside of an array
if (item.Users && item.Users.indexOf(',') >= 0) {
item.Users = item.Users.split(',');
}
})
如果希望保持一致的数据类型(使用户
属性始终为数组
):
您只需要一个简单的for each和一个split
var data = [
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
];
data.forEach( function (obj) {
obj.Users = obj.Users.split(",");
});
现在,如果您真的不想让它成为一个数组,那么您需要添加一个if检查
data.forEach( function (obj) {
var parts = obj.Users.split(",");
if(parts.length>1) {
obj.Users = parts;
}
});
您只需要一个简单的for each和一个split
var data = [
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
];
data.forEach( function (obj) {
obj.Users = obj.Users.split(",");
});
现在,如果您真的不想让它成为一个数组,那么您需要添加一个if检查
data.forEach( function (obj) {
var parts = obj.Users.split(",");
if(parts.length>1) {
obj.Users = parts;
}
});
做这样的事
var输入=[
{
“标题”:“A页”,
“用户”:“USRA”
},
{
“标题”:“B页”,
“用户”:“USRA,USRB”
}
];
var输出=[];
输出=输入.map(函数(d){
for(输入d){
如果(d[key].indexOf(',')!=-1){
d[key]=d[key].split(',');
}
}
返回d;
});
$('#result').html(JSON.stringify(output))代码>
像这样做
var输入=[
{
“标题”:“A页”,
“用户”:“USRA”
},
{
“标题”:“B页”,
“用户”:“USRA,USRB”
}
];
var输出=[];
输出=输入.map(函数(d){
for(输入d){
如果(d[key].indexOf(',')!=-1){
d[key]=d[key].split(',');
}
}
返回d;
});
$('#result').html(JSON.stringify(output))代码>
看看你需要让第一批用户成为“用户”:[“USRA”]
。你到底为什么想要不一致的数据类型?让它们都成为数组,不管它们是否只有一个元素。看一看,你需要让第一个用户成为“Users”:[“USRA”]
。你到底为什么想要不一致的数据类型?让它们都成为数组,不管它们是否只有1个元素。谢谢,这是一个很好的答案,因为它测试了所有密钥的“aaa,bbb”csv问题。谢谢,这是一个很好的答案,因为它测试了所有密钥的“aaa,bbb”csv问题。