微信小程序请问如何将[object object]转换为JSON数据?

Author Avatar cuihecom 发表于 • 2017年08月08日 15:42 • 共 • 472 • 次浏览

[object object]里面存着JSON数据,请问如何转换成JSON,请各位大神不吝赐教

最后编辑于 • 2017年08月08日 15:42 •  
9 回复
avatar
0
发放红包 2017年08月08日 15:49   # 1 楼

可以试下JSON.stringify(obj)


avatar
0
cuihecom 楼主
发放红包 2017年08月08日 15:49   # 2 楼

这个不对啊


avatar
0
发放红包 2017年08月08日 15:50   # 3 楼

最好将详细代码发出来。让更多的人可以看到你的代码然后帮助你。


avatar
0
cuihecom 楼主
发放红包 2017年08月08日 15:52   # 4 楼

onLoad: function (options) {

var self = this;
//var optionId = options.id;
var title = options.title;
var linkUrl = options.linkUrl;
var author = options.author;
console.log(linkUrl);

// var data = res.data.info[channelId];
var imgInfoArr = JSON.stringify(linkUrl);
console.log(linkUrl);

linkUrl是从另一个页面传过来的,打印出来是[boject object],现在无法解析


avatar
0
calidion 回复了 # 163
发放红包 2017年08月08日 15:54   # 5 楼

如果打印出来的两个linkUrl都是[object object],说明传过来的时候已经出问题了。


avatar
0
cuihecom 楼主
发放红包 2017年08月08日 15:56   # 6 楼
{{linkUrl[index]}} 来源:{{author[index]}} {{date[index]}} 这个是wxml页面的代码
		getTypeData: function (page) {
var that = this;
wx.request({
  url: 'https://caibian.sgcctop.com/dwtt/mediaAPI/wxAchieveChannelData?channelId=' + app.cssActive + '&page=' + app.page + '&pageNum=9',
  method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

  data: {
    "channelId": app.cssActive,
    "page": app.page,
  },
  header: {
    //'appToken': app.globalData.Token,
    'content-type': 'application/json'
  },
  success: (res) => {
    var data = res.data.info;
    //var linkUrl = eval('('+res.data.info[0].linkUrl+')');
    //var linkUrl = eval(res.data.info[0].linkUrl.replace(/\"/g, "'"));替换单引号或者其他的方法   
    //var linkUrlJSON = JSON.parse(data.linkUrl);
    console.log(res);
    for (var i = 0; i < data.length; i++) {
      app.id.push(data[i].contentId);
      app.title.push(data[i].title);
      app.imgUrls.push(data[i].picsrc);
      app.author.push(data[i].ly);
      app.linkUrl.push(data[i]);
      //console.log(JSON.stringify(app.linkUrl));
      app.channelId.push(data[i].channelId);
      app.contentId.push(data[i].contentId);
      //app.docid.push(data[i].docid);
      app.date.push(data[i].datetime.slice(0, 4) + '年' + data[i].datetime.slice(4, 6) + '月' + data[i].datetime.slice(6, 8) + '日');
      //app.imgextra.push(data[i].imgextra.length);
    }
    this.setData({
      id: app.id,
      title: app.title,
      imgUrls: app.imgUrls,
      author: app.author,
      docid: app.docid,
      date: app.date,
      page: app.page,
      linkUrl: app.linkUrl,
      channelId: app.channelId,
      contentId: app.contentId,
    })
    //console.log("内容ID:" + app.linkUrl)
  },
  fail: function () {
    // fail
  },
  complete: function () {
    // complete
    wx.hideToast();
  }
})

}, 这是main.js的代码,我传的是linkUrl,在wxml中显示是正确的,传过去就错了


avatar
0
calidion 回复了 # 165
发放红包 2017年08月08日 16:04   # 7 楼

如果是微信的问题,将你要传的内容变成是字符串,接收后重新解释即可。


avatar
0
cuihecom 楼主
发放红包 2017年08月08日 16:26   # 8 楼

谢谢老师,我想起来了,就是传的过程中,我的数据是wxml代码,因为有引号,所以在引号的位置就断了,请问这个怎么解决呢?谢谢您


avatar
0
calidion 回复了 # 168
发放红包 2017年08月14日 12:23   # 9 楼

将所有的数据变成是字符,然后重新解释应该就可以了。😬

你尚未登录,无法进行回复。