猿问

javascript 链式字符串转JSON。

已知字符串data.list.$items.gradeList.$items.desc如何转成

{
"data": {

"list": [
  {    "gradeList": [
      {        "desc": "9674"
      }
    ]
  }
]

}
}

这里边若字符串后面是$items则该属性是个数组。


德玛西亚99
浏览 666回答 2
2回答

哆啦的时光机

var str = 'data.list.$items.gradeList.$items.desc';var item = '9674';function exchange(str,item){  str = str.split('.'); var obj,flag = false; for(var i=str.length-1;i>=0;i--){   obj={};   str[i] == '$items'?(flag = true):      (obj[str[i]]=flag?[item]:item,flag = false,item = obj);  }  return obj; } exchange(str,item);

梵蒂冈之花

a.list1.$items.b.list2.$items.c.d 转{a: {list1: [   {     b:{       list2:[         {           c:{             d:'bug'           }         }       ]     }   }]}}遇后面$items的话就是数组
随时随地看视频慕课网APP
我要回答