问题描述
- nodejs json怎么转变为这种父子关系的数组呢?
-
我想把这个json转变为如下的父子关系的数组,使用js中的递归要怎么操作呢?
json格式:{ "fruit": [ { "name": "水果" }, { "jiangguolei": [ { "name": "浆果类" }, { "caomei": "草莓" }, { "lanmei": "蓝莓" } ] }, { "ganjulei": [ { "name": "柑橘类" }, { "miju": "蜜橘" }, { "shatangju": "砂糖橘" } ] }, { "other": "其它" } ] }
转换后,相对应的父子关系的数组如下:
[ 'fruit', 'fruit/jiangguolei', 'fruit/jiangguolei/caomei', 'fruit/jiangguolei/lanmei', 'fruit/ganjulei', 'fruit/ganjulei/miju', 'fruit/ganjulei/shatangju', 'fruit/other', ]
这是我用递归写的,不行,请指教:
function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; } function isObject(obj) { return Object.prototype.toString.call(obj) === '[object Object]'; } function changeArr(json, fpath){ var tmpArr = []; for ( var p in json ){ if(p !== 'name'){ tmpArr.push(fpath + '/' + p); } if(isArray(json[p])){ // fpath = p; changeArr(json[p], p); }else if(isObject(json[p])){ changeArr(json[p], p); }else{ } } return tmpArr; } console.log(changeArr(file, ''));
解决方案
http://www.cnblogs.com/wanghetao/p/4148989.html
解决方案二:
@苏小喵,这个是纯的json转字符串的方法
时间: 2024-11-01 01:01:47