后台传给前端字符串为null或解析JSON字符错误——SyntaxError: JSON.parse: unterminated string literal at line 1 column 9018638 of the JSON data
第一种情况:

第二种情况:

首先看看你的JSONObject或JSONArray的引用有没有Getter()和Setter()方法,这个必须要加上
问题:
两张表双向多对一、一对多时。响应给后台使,出现此错误
分析: 双向关系,生成json的时候是相互调用,需要有一方忽略对方
要完成的功能时,一方能够找到多方,多方反过来又能找到一方。所以响应给前台时F12-查看网络-找到post请求,然后分别查看参数和响应会发现,参数没有问题,而响应就会报以上错误。点击json数据进去查看就会发现很多数据,响应进入了死循环。(一方找多方,找了很多,然后反过来多方又去找一方找了很多,最后又循环去找)
解决:
在双向的两方的其中任何一方关联字段上配置@JsonIgnore这个配置就可以了。
实例说明:
单据是组合关系。也就是所谓的强聚合。(双向的一对多、多对一)。
两者都不能抛弃另一方。所以要配置最强的级联(cascade = CascadeType.ALL),还要有孤儿删除(orphanRemoval = true)。还有:由于一对多性能差,所以一方要放弃维护关系,让多方维护(mappedBy = “一方的字段”)
实例
//采购明细和采购单多对一关系
@ManyToOne(fetch = FetchType.LAZY,optional = false)
@JoinColumn(name = "bill_id")//表中的采购单外键
@JsonIgnore //生成json的时候忽略这个属性
private Purchasebill billId;
单据采购明细:
// 一般组合关系使用List (采购单和采购明细单是组合关系:双向多对一,一对多)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "billId", fetch = FetchType.LAZY, orphanRemoval = true)
private List<Purchasebillitem> items = new ArrayList<Purchasebillitem>();
后台传给前端字符串为null或解析JSON字符错误——SyntaxError: JSON.parse: unterminated string literal at line 1 column 9018638 of the JSON data的更多相关文章
- xss-跨站脚本攻击-后台传给前端的html标签安全显示
作用 后台拼接的html字符串传到前端,默认是不安全的,需要告诉前端这个字符串是安全的,可以正常显示html标签. 知识点 1.定义 2 3 <script> 获取session ...
- [Swift]LeetCode387. 字符串中的第一个唯一字符 | First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...
- 分公司下拉框赋值-从后台传到前端jsp
我的旧代码 List<MetaBranchCfg> list = metaBranchCfgBO.queryAllBranchList(); request.setAttribute( ...
- LeetCode 387: 字符串中的第一个唯一字符 First Unique Character in a String
题目: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. Given a string, find the first non-repeating charact ...
- fastTime从后台传过来显示格式的处理
1.可以在控制台用syso查看 QuestionFeedbackView qfv = on_LineManageService.getBringupHead(projectNo);//qfv是一个内含 ...
- 修改后台传过来的json数据中对象的属性
前言 今天在实习中遇到的一个小问题,后端传过来的一个json数据结构,但是对象中的属性名跟我需要的不一样(因为我是渲染echarts中的数据,属性名要一样) 这是后台传过来的数据: 需求是我需要把属性 ...
- 4. JSON字符串是如何被解析的?JsonParser了解一下
公司不是你家,领导不是你妈.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...
- json.loads()的字符串中为单引号引发的错误
如下错误属于弱智错误,但是错的原因让我无语,所以记录一下 str2="{'card':6217001650004184441}"print(json.loads(str2)) Tr ...
- asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析
下面我用一个实例来和大家分享一下我的经验,asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析. using Newtonsoft.Json; usin ...
随机推荐
- & 和 && 的区别,与(&)运算符、位移运算符(<< 、>>、>>>)的含义及使用(Java示例)
& 和 && 的区别,与(&)运算符.位移运算符(<< .>>.>>>)的含义及使用(Java示例) 1. & 和 & ...
- mssql sqlserver 添加表注释和添加列注释的方法分享
转自: http://www.maomao365.com/?p=8919 摘要: 下文讲述使用sql脚本对数据表或数据列添加注释(备注说明)的方法分享,如下所示: 实验环境:sql server 2 ...
- sso单点登录系统的压力测试
环境:vmware centos7.4 2cpu 2核心 工具:ab压力测试工具 测试对象:sso单点登录系统 电脑:win10 4核 项目环境:flask+uwsgi+nginx(uwsgi 2进程 ...
- Centos7系统Docker安装
目录 前期说明 安装步骤 1.官网中文安装参考手册 2.确定你是CentOS7及以上版本 3.yum安装gcc相关 4.卸载旧版本 5.安装需要的软件包 6.设置stable镜像仓库 7.更新yum软 ...
- ACM 基本输入
单次输入 C语言 int a,b; scanf("%d %d",&a,&b); C++语言 int a,b; cin >> a >> b; ...
- idea代码模板配置
1. 在settings中配置 配置快捷键和模板内容 输入syso然后按enter键就会自动生成代码
- requests乱码问题
有三种方法解决请求后乱码问题. 一:获取二进制数据,再利用str进行编码转换 url='http://music.baidu.com' r = requests.get(url) html=r.con ...
- 166. 数独 dancing links 方法
dfs硬怼通过数独 N皇后的代码后 想学习下新的数据结构和算法来解决这类覆盖问题 习题练习 https://www.acwing.com/problem/content/168/ 数独 https:/ ...
- AcWing 836. 合并集合
地址 https://www.acwing.com/problem/content/838/ 一共有n个数,编号是1~n,最开始每个数各自在一个集合中. 现在要进行m个操作,操作共有两种: “M a ...
- css3中calc、vw、vh、vmin、vmax 属性的应用及兼容性详解
一. calc()的使用什么是calc()? calc()从字面我们可以把他理解为一个函数function.其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定 ...