我有以下JSON数据:
X = _matrix
使用","转换字段的最佳方法是什么?进入数组?并使用javascript:
y = training_df[['cat1', 'cat2']]
答案 0 :(得分:2)
你可以这样做:
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(',');
}
})
如果您希望保持一致的数据类型(使Users
属性始终为Array
):
data.forEach(function(item) {
item.Users = item.Users ? item.Users.split(',') : [];
})
答案 1 :(得分:1)
你需要的只是一个简单的分裂
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;
}
});
答案 2 :(得分:0)
做这样的事情
var input = [
{
"Title": "PAGE A",
"Users": "USRA"
},
{
"Title": "PAGE B",
"Users": "USRA,USRB"
}
];
var output = [];
output = input.map(function(d){
for (key in d){
if (d[key].indexOf(',') !== -1){
d[key] = d[key].split(',');
}
}
return d;
});
$('#result').html(JSON.stringify(output));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="result"></div>
&#13;