1.服务器端json数据:
return '[{"abc":[195,62,42,58,72,64,72,11,0,0,0,0]},{"xyz":"111"}]';
2.小程序接收数据res.data:
console.log(res.data)
返回值:[{"abc":[195,62,42,58,72,64,72,11,0,0,0,0]},{"xyz":"111"}] ,但无法通过setData()取值
3.小程序接收数据res.data[0]:
无返回数据
4.小程序接收数据res.data.abc:
无返回数据
5.小程序接收数据res.data[0].abc:
无返回数据
6.把json数据改简单
return ”[195,62,42,58,72,64,72,11,0,0,0,0]”;
console.log(res.data)返回结果正常:[195,62,42,58,72,64,72,11,0,0,0,0]
7.把json数据做成key:val形式
return '{"abc":[195,62,42,58,72,64,72,11,0,0,0,0]}';
console.log(res.data)返回结果正常:{”abc":[195,62,42,58,72,64,72,11,0,0,0,0]}
但通过console.log(res.data.abc)、console.log(res.data[0].abc)等方法均无法取得里面的数组值。
系统显示,res.data格式为对象,因此JSON.parse()无法使用。
总结:
1.目前测试结构只能接收单一数组,无法接收键值对类型;
2.多维数组生成的json数据更无法解析;
3.经测试“data.”后面,无法紧跟以数字开头的关键字,即data数据不支持数字或数字开头的key,也不支持引号或[]等其他方式表示key值,这应该是遵循了变量命名规则,但是这一点在实际项目中会造成很大困扰。
求各位大神帮忙解决这个问题。
看看二者的区别,求大神帮忙解决
[1537,1869,5558,732,1161,11007]
bar.js [sm]:77 [292.8, 123.91, 225.08, 65.73, 16.08, 2.27]
上面那行是从后台取回的数组,下面这行是在小程序data中的静态数组。下面的形式才是小程序可以识别的数组形式,上面的是死数据。
目前小程序的支持力度还很脆弱,要靠自创平台和语法替代前台和部分后台几种成熟语言的功能,还有很长的路要走。这也许是小程序暂时火不起来的原因。要是微信管理层能接收来自广大开发者的问题反馈和意见就好了
关键问题是小程序无法识别由request获取的数据,不知道是什么原因。
没有
我也遇到这个问题,你解决了吗