解决 SyntaxError:Unexpected end of JSON input 或 Unexpected token u in JSON at position 0 问题

2023-10-26

1、报错原因

JSON 接收的数据不完整,或者数据格式不符合要求,如 undefined

2、JSON 数据格式要求 

1、JSON文件都是被包裹在一个大括号中 {},通过key-value的方式来表达数据。
2、JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。
3、JSON的值只能是以下几种数据格式,其他任何格式都会触发报错,例如 JavaScript 中的 undefined。
    1)数字,包含浮点数和整数
    2)字符串,需要包裹在双引号中
    3)布尔值,true 或者 false
    4)数组,需要包裹在方括号中 []
    5)对象,需要包裹在大括号中 {}
    6)null
    7)其它类型,如日期,(JSON)本身不支持,应该由解析器/客户端处理转换为字符串
4、对象或数组每个成员后面必须跟一个逗号,如果它不是最后一个的话
5、JSON.parse() 不允许用逗号作为结尾

3、解决方法

对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码,接收时,先通过decodeURIComponent解码再通过JSON.parse转换为JSON格式的对象/数组
// 跳转页面传输数据
  toChildrenDetails(e) {
    let data = e.currentTarget.dataset.info
    if (data) {
      var info = {
        name: data.name,
        sex: data.sex,
        href: data.face_image,
        number: data.number,
        age: data.age
      }
      wx.navigateTo({
        url: './children-details/children-details?data=' + encodeURIComponent(JSON.stringify(info))
      })
    } else {
      wx.showToast({
        title: '数据为空!',
        icon: 'none'
      })
    }
  },
// 接收数据
onLoad: function (options) {
  this.setData({
    info: JSON.parse(decodeURIComponent(options.data))
  })
},

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决 SyntaxError:Unexpected end of JSON input 或 Unexpected token u in JSON at position 0 问题 的相关文章

随机推荐

  • 个人域名备案有什么要求?需要准备什么?

    现在域名是非常火爆的 越来越多的人开始注册域名 有个人域名 有企业域名 域名都是需要备案的 很多人不知道个人域名备案有哪些要求 需要准备些什么 下面我们一起来看看 个人域名备案的要求 1 国内主机都要求备案 2 网站访问者大多是国内人时国内
  • JDK的下载及配置JAVE_HOME

    初学JAVA的很多朋友的第一步就是下载JDK 首先 我来解释一下什么是JDK JDK是JAVA语言的软件开发工具包 目前已经到了JDK9的版本 在此提醒各位初学的朋友 下载JDK的话下载JDK8就够了 因为JDK9版本还不稳定 JDK就已经
  • 原生ajax 设置get请求参数和请求头信息和发送 post请求

    get请求发送参数直接在路径后面加问号即可 xhr open GET http 127 0 0 1 8000 server a 100 b 50 设置请求头信息 1 请求头中本来就有这个属性 只是修改该属性的值 xhr setRequest
  • ElasticSearch 查询语法

    环境 ElasticSearch6 4 2 以下查询请求方式均为Post 索引名 book 索引结构 mappings novel properties word count type interger author type keywor
  • Vue基础之指令与过滤器

    vue 简介 1 什么是 vue 官方给出的概念 Vue 读音 vju 类似于 view 是一套用于构建用户界面的前端框架 2 vue 的特性 vue 框架的特性 主要体现在如下两方面 数据驱动视图 双向数据绑定 2 1 数据驱动视图 在使
  • unity第一人称射击游戏,枪击游戏,功能完整可以当大作业或者毕设

    unity第一人称射击游戏 枪击游戏 含源码和exe导出文件 下载链接在文末 unity第一人称枪击游戏 分为海岛地图和沙漠地图 可以开镜射击 敌人可以移动 菜单页面有开始游戏 游戏说明 退出三个按钮 游戏有音效 可以通过ASDW移动人物
  • 查看jks证书内容

    keytool list v keystore xxx jks 输入密钥库口令
  • C++进阶必读书籍

    结合一些我的学习经历 希望对于想学C 的人有些帮助 大家有什么好想法望提出 我老师最初是从C语言教起的 用的是潭浩强的 lt
  • ajax day3

    3 将普通对象转为查询参数字符串形式 创建URLSearchParams参数 再用toString方法转为字符串 4 xhr对象 请求参数 body参数 5 promise promise对象一旦被兑现或拒绝 就是已敲定了 状态无法再被改变
  • Python模块之操作数据库MySQL篇

    目录 一 安装PyMySQL模块 二 操作数据库 1 连接数据库 2 执行sql语句 execute和executemany 3 创建数据表 三 操作MySQL数据表 1 新增数据 2 查询数据 3 修改数据 4 删除数据 5 踩到的坑 一
  • python批量读取Excel文件

    将同一个文件夹下的xlsx文件读取 import os import pandas as pd path r path of file for i in os listdir path df pd read excel os path jo
  • [读论文]CAAD-2018 Targeted Attack方向季军技术报告

    这次分享的是CAAD 2018比赛中Northwest Security团队的技术报告 该团队在此次比赛中取得了了targeted Attack 方向第三名 non targeted Attack方向第四名的成绩 题目 Leverage O
  • 构建 fluentd 镜像与部署应用

    本文将具体介绍如何在基础镜像 ubuntu 20 04 上搭建 fluentd 镜像 并且实现监控指定目录的日志文件 构建镜像 首先 从 docker hub 中挑选一个合适的基础镜像 例如 ubuntu 20 04 docker pull
  • 区块链+物联网=?

    链客 专为开发者而生 有问必答 此文章来自区块链技术社区 未经允许拒绝转载 区块链与物联网 IoT 的交叉应用已成为最有前途的区块链用例之一 在过去的几个月里 IoTeX一直与我们的战略合作伙伴合作 并进行了独立的研究 为了能够在短期内采用
  • 新闻

    4月 中国科技产业智库甲子光年发布 AIGC应用与实践研究展望报告 及AIGC产业图谱 面向AIGC技术创新者 产业参与者 资本机构和政府等各方展现AIGC产业的整体生态环境和行业发展 华院数智人凭借其在生成式AI技术 人机交互能力和市场应
  • esp32+vscode环境搭建速记

    esp32idf vscode环境搭建速记 建议按照入下步骤进行 在vscode插件里安装esp32idf 或者用在线的下载器安装会出现一些莫名奇妙的问题 第一步 安装esp32idf 官方网址 https dl espressif cn
  • gridlayout java_Swing-布局管理器之GridLayout(网格布局)-入门

    网格布局特点 l 使容器中的各组件呈M行 N列的网格状分布 l 网格每列宽度相同 等于容器的宽度除以网格的列数 l 网格每行高度相同 等于容器的高度除以网格的行数 l 各组件的排列方式为 从上到下 从左到右 l 组件放入容器的次序决定了它在
  • idea中thymeleaf语法不提示的所有原因

    首先pom xml里面要导入thymeleaf的依赖 然后在html中加入 xmlns th http www thymeleaf org 最后点击file gt settings 查看插件是否使用 未使用点击打勾重启
  • AMS1117典型电路

    AMS1117 3 3V 5V 封装 常见应用连接 1 输入旁路电容Input Bypass Capacitor A 10uF tantalum on the input is a suitable input bypassing fora
  • 解决 SyntaxError:Unexpected end of JSON input 或 Unexpected token u in JSON at position 0 问题

    1 报错原因 JSON 接收的数据不完整 或者数据格式不符合要求 如 undefined 2 JSON 数据格式要求 1 JSON文件都是被包裹在一个大括号中 通过key value的方式来表达数据 2 JSON的Key必须包裹在一个双引号