后台返回字符串(字符串由arr[ { key:value } ] 组成),用了很多种方法 最终解决了

1 var str="[{symbol:"sh000001",name:"上证指数",trade:"3074.9448",pricechange:"-29.204",changepercent:"-0.941",buy:"0",sell:"0",settlement:"3104.1487",open:"3058.8016",high:"3086.9961",low:"3051.5766",volume:259658612,amount:255833986566,code:"000001",ticktime:"13:33:04"}]"
2 // 1.先转换数组
3 var arr1=str.split('},');

//2.去掉数组中的下标为0 和数组最后一个 : ‘[’  和  ‘]’
arr1[0]=arr1[0].replace('[','');
arr1[arr1.length-1]=arr1[arr1.length-1].replace(']','');

//循环数组 只有一个eval会报错 未解
for(var i in arr1){
if(i<arr1.length-1){
_this.myArray.push(eval("(" +eval("(" +JSON.stringify(arr1[i]+"}") + ")" )+ ")" ))
}
}

就在我重新走一遍的过程中 只有一个 eval 又不报错了 

 var arr1=data.split('},');
          arr1[arr1.length-1]=arr1[arr1.length-1].replace(']','');
          arr1[0]=arr1[0].replace('[','');

          for(var i in arr1){
            if(i<arr1.length-1){
              _this.myArray.push( eval("(" +arr1[i]+"}" + ")" ))
            }
          }

这是正常流程代码 也可以了  ,奇怪呀 ,有人知道的吗 请留言 谢谢 浏览器是谷歌

 

posted on 2019-03-25 13:56  随遇而安-BSY  阅读(271)  评论(0)    收藏  举报