(已解决)Unexpected token o in JSON at position 1

(已解决)Unexpected token o in JSON at position 1讲这个问题之前先普及一下JSON.parse()和JSON.stringify()方面的知识:JSON.parse()方法用于将一个JSON字符串转换为对象,如varstr='{"name":"LeonWu","age":"18"}’JSON.parse(str);//结果为一个Object//age:"18";//name:"LeonWu";

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

讲这个问题之前先普及一下JSON.parse()和JSON.stringify()方面的知识:

JSON.parse() 方法用于将一个 JSON 字符串转换为对象,

var str = ‘{“name”:”LeonWu”,”age”:”18″}’

JSON.parse(str);

//结果为一个Object

// age: “18”;

// name: “LeonWu”; 

JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如

var a = {a:1,b:2,c:”LeonWu”};

JSON.stringify(a);

//结果为 ‘{“a”:1,”b”:2,”c”:”LeonWu”}’

最近在做微信小程序项目,遇到了这个问题:

(已解决)Unexpected token o in JSON at position 1

我是想把用户选择的东西传到另一个页面:

submit() {

        let cartlist = JSON.stringify(this.data.cart);  //这里我又定义了一个变量接收转换后的对象,就是因为这里为后面埋下了伏笔

       console.log(cartlist);

         wx.navigateTo({

               url: ‘../order/order?cartlist=’ + cartlist,

       })

}

另一个页面:

onLoad(options){

console.log(JSON.parse(options));  //哈哈没那么容易,报错了在这里

},

其实在这里我传过来的值是这样的:

{cartlist: ‘{“count”:1,”total”:2,”list”:{“1”:1}}’}  //类型还是对象

这虽然是一个对象,但是不是json字符串,cartlist的值才是json字符串,所以这里我错了。JSON.parse(里面必须是一个json字符串)

修改后:

onLoad(options){

       console.log(options.cartlist);  //{“count”:1,”total”:3,”list”:{“2”:1}}

       let a = JSON.parse(options.cartlist);

       console.log(a.count);

}, //   1

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

如果你传参的时候没有指定一个值(上面那个cartlist)接收转换后的值(对象转为字符串),那你可以直接使用JSON.parse。

这里记录下我看过的类似问题的博客:

【已解决】Uncaught SyntaxError: Unexpected token o in JSON at position 1_硕士茂哥-CSDN博客

Unexpected token o in JSON at position 1 报错原因_积少成多-CSDN博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180810.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NULL与nullptr

    传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为((void*)0),有些将其定义为0.c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为((void*)0),当编译char*p=NULL;NULL只好被定义为0。还有:void  func(int);void  func(char*);如果NULL被定义为0,func(NUL…

    2022年4月6日
    328
  • 解决Zookeeper无法启动

    解决Zookeeper无法启动通过命令:zkServer.shstart启动Zookeeper后,jps查看进程发现全部启动正确,但是在通过zkServer.shstatus查看启动状态,却出现如下现象:通过上述问题可以考虑到的点是配置的三台节点另外两台没有启动。但是可以确定的是另外两台节点也都启动了Zookeeper。解决方案:1.首先查看防火墙是否关闭。如果防火墙开启会影响三点节点的通信,导致接收不到另外两台节点信息。我是上午关闭了虚拟机,下午再打开时没有将防火墙关闭,查看防火墙果然处于活跃状态!赶紧将防火

    2022年9月25日
    4
  • startActivityForResult用法

    startActivityForResult用法startActivityForResult用法startActivityForResult主要用来从FirstActivity跳转到SecondActivity然后返回FirstActivity并且获取从SecondActivity传回来的参数。使用方法:如下从ClockManagerActivity跳转到NewMapActivity并且传address值ClockManagerActiv…

    2022年7月11日
    23
  • Vue里this指向

    Vue里this指向一 普通函数中的 this nbsp 这是 vue 文档里的原话 All nbsp lifecycle nbsp hooks nbsp are nbsp called nbsp with nbsp their nbsp this nbsp context nbsp pointing nbsp to nbsp the nbsp Vue nbsp instance nbsp invoking nbsp it 意思是 在 Vue 所有的生命周期钩子方法 如 created mounted nbsp updated 以及 destroyed 里使用 this this 指向调用它的 Vu

    2026年1月23日
    1
  • iframe自适应高度_iframe根据内容自适应高度

    iframe自适应高度_iframe根据内容自适应高度1、iframe自适应页面高度   首先需要给iframe设置一个id,不需要滚动条则加上scrolling=”no”   然后加上一个onload事件functioniFrameHeight(iframe){ varifm=document.getElementById(iframe.id); varsubWeb=document.frames

    2022年10月12日
    4
  • 科谱,如何单机环境下合理的备份mssql2008数据库

    科谱,如何单机环境下合理的备份mssql2008数据库开发人员学win服务器的简单运维之数据库自动备份。写博客很累,请轻喷…

    2022年7月2日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号