梁格鲁 2022-10-10 01:31 采纳率: 100%
浏览 22
已结题

servlet传递json格式字符串无法赋值

从servlet传递json格式字符串到小程序js文档中,但是无法通过JSON.parse(res.data)来赋值给全局对象

      success: function(res) { //res就是接收后台返回的数据

        // that.setData({
        //   tt: res.data,
        // })
        console.log("提前测试字符串:" + res.data + "----" + typeof(res.data));

        app.obj = JSON.parse(res.data);
        console.log("测试格式2: " + app.obj.ta_name + "~~~~~~" + typeof(app.aaa));
      },

报错:Unexpected token ' in JSON at position 11
我查了很多资料,说是单双引号的问题,但是我在servlet中无法全部都改成双引号,因为传递的是字符串,最外面必须要双引号。 其中app.obj是我在app.js中定义好的全局对象。
这个是我console.log出来的res.data的数据:

img

  • 写回答

1条回答 默认 最新

  • wanmeikakaxi 2022-10-10 07:05
    关注

    json格式里的参数最后不能有逗号

    你细心观察你的json格式就知道有问题,
    你截图里的
    错误 "ta_number'":['2','3','4','5','6',]
    正确 "ta_number'":['2','3','4','5','6'],最后参数不能有逗号

    错误 "ta_city":['清楚','发功','温度','爱上','官方','一会',]
    正确 "ta_city":['清楚','发功','温度','爱上','官方','一会']

    最后的"ta_coordinate'":更离谱
    ’116.343356,39.562364‘ ‘116.359192,39.147312’
    如果该参数之类116.343356是带有小数点为一组,这里的格式错的比较严重
    正确应该是这样
    ’116.343356‘, ’39.562364‘ , ‘116.359192', '39.147312’
    但是如果是两组为一对,应该在后端生成数据参数的时候对逗号转义处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 10月10日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料