我在js中遇到对象,json等问题。如果有人可以帮助我做某事,那就太好了!:)
我有一个无法更改的对象,如下所示:
{
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
}
我想转换成这样:
{
"page": "POST, DELETE",
"news": "PUT"
}
因此,我希望对象值(数组)为字符串,我也尝试了toString(),String(),JSON.stringify和其他来自互联网的方法(也许我做得不好),但是没有一种方法适合我,我是处理这类数据的新手,所以如果有人可以帮助我,TKS!:D
在这种情况下,我得到了以下结构:
{
"page": {
"POST": [
"POST"
],
"PUT": 122
},
"news": {
"PUT": [
"PUT"
]
}
}
我如何转换为:
{
"page": "POST, PUT:122",
"news": "PUT"
}
如果要修改初始对象-使用Object.keys
和Array.forEach
功能就足够了:
var obj = {
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
};
Object.keys(obj).forEach(function(k) {
obj[k] = obj[k].join(",");
});
console.log(JSON.stringify(obj, 0, 4));
针对另一种复杂情况的其他解决方案:
var obj = {
"page": {
"POST": [
"POST"
],
"PUT": 122
},
"news": {
"PUT": [
"PUT"
]
}
};
Object.keys(obj).forEach(function (k) {
var innerKeys = Object.keys(obj[k]), items = [];
innerKeys.forEach(function(key) {
items.push((Array.isArray(obj[k][key]))? key : key + ":" + obj[k][key]);
});
obj[k] = items.join(",");
});
console.log(JSON.stringify(obj, 0, 4));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句