搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
IT小白
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
二、详解 DVWA_Reflected反射型XSS_reflected xss
2
[人工智能-深度学习-18]:神经网络基础 - 模型训练 - 监督式学习常见学习材料:训练数据集、验证数据集、测试数据集_数据集的来源和特征
3
Maya2020入门:标题栏+菜单栏+状态栏_maya菜单栏
4
adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表
5
Elasticsearch——2:Elasticsearch 体系结构_elasticsearch 结构
6
共享01背包问题的测试数据_01背包问题测试数据
7
关于安转android studio 在选择JDK找不到路径的问题_为什么android studio 中jdk路径不能从librar y中选
8
分布式 微服务_单服务器 多环境部署微服务
9
arkTS中实现页面跳转_arktx做页面
10
NMT评价指标-BLEU_sentence_bleu
当前位置:
article
> 正文
java中list列表转为json数据的方法_list如何转换json对象
作者:IT小白 | 2024-04-05 16:54:11
赞
踩
list如何转换json对象
SSH 项目中异步提交需要用到JSON返回给页面一个json字符串
在XXXAction就要把从DAO里查询返回的List集合转成JSONArray数组
通常是:
java代码:
List list = bookService.findAll();//全查询返回book的List集合结果
JSONArray jsonArray =JSONArray.fromObject(list);//把list转成JSONArray
String json = jsonArray.toString();//json字符串
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");//改编码
PrintWriter out =ServletActionContext.getResponse().getWriter();//获取PrintWriter对象
out.print(json);//把json字符串返回的页面
而如果在项目中出现多表 有主外键关系,即hibernate映射会有一对多或者多对一的关系。
实体类中 “多”的一方会有“一”的一方的实体对象,而“一”的一方会有“多”的一方的Set集合。
在查询返回List对象转成JSONArray的时候,以上代码就会报错。
解决办法 —— 把查询出来中的实体对象 或者 Set集合过滤掉:
java代码:
List list = bookService.findAll();//全查询返回book的List集合结果
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "Category"});
//红色的部分是过滤掉Category对象 不转成JSONArray
JSONArray jsonArray = JSONArray.fromObject(list,
config
);
String json = jsonArray.toString();//json字符串
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");//改编码
PrintWriter out =ServletActionContext.getResponse().getWriter();//获取PrintWriter对象
out.print(json);//把json字符串返回的页面
用一上过滤掉实体对象就不会报错了,可是如果页面需要像是种类表的名字,而你恰恰把Category这个对象过滤,获取不到种类名字,这样就苦恼了。于是老师在看过帮助文档之后告诉我们另一种方法。
java代码:
List list = bookService.findAll();//全查询返回book的List集合结果
JsonConfig config = new JsonConfig();
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
JSONArray jsonArray = JSONArray.fromObject(list,
config
);
String json = jsonArray.toString();//json字符串
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");//改编码
PrintWriter out =ServletActionContext.getResponse().getWriter();//获取PrintWriter对象
out.print(json);//把json字符串返回的页面
不管是查询“多”的一方还是“一”的一方都可以用以上代码解决了。
不过“多”的一方的映射文件中的many-to-one元素要加个lazy="false"(不延迟加载)的属性哦。不然还是会报错。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/IT小白/article/detail/366898
推荐阅读
article
java
分布式
事务
atom
_
分布式
事务
详解——
SpringBoot
+
Atomikos
篇...
1.
分布式
事务
概念讨论
分布式
事务
之前我们分清两个概念:本地
事务
、
分布式
事务
;本地
事务
是解决单个数据源上的数据操作的一致...
赞
踩
article
华为OD机试 -
文件
缓存
系统
(
Java
& JS &
Python
& C++)_华为od
文件
缓存
...
华为OD机试 -
文件
缓存
系统
(
Java
& JS &
Python
& C++),考察:LFU
缓存
_华为od
文件
缓存
系...
赞
踩
article
复制 python cache 文件到预训练模型_
roberta
-
base
/
special
_toke...
import os ,sys ,shutilimport reimport
json
cache_path='D:\\PY...
赞
踩
article
华为OD机试 -
测试用例
执行
计划(
Java
& JS &
Python
& C &
C++
)...
TM),每个
测试用例
对应一个覆盖特性的集合,
测试用例
使用其 ID 作为下标进行标识,
测试用例
的优先级定义为其覆盖的特性的...
赞
踩
article
解决
Tomcat
异常
:
java
.
lang
.
IllegalStateException
:
非法访问:此...
reloadable的功能:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classe...
赞
踩
article
java
opennlp
_
如何在
Java
中使用
OpenNLP
?...
小编典典这是我放在一起的一些(旧)示例代码,以及随后的现代化代码:package
opennlp
;import open...
赞
踩
article
【译】
Java
NLP
类库
概览
...
NLP
使计算机能够像人类一样处理文本和单词。它将计算语言学与统计学、深度学习和机器学习相结合。人们每天通过各种媒介在线...
赞
踩
article
解决bad
SQL
grammar
[]; nested
exception
is
java
.
sql
...
在使用Spring Boot连接My
SQL
数据库时,有时候会遇到“Bad
SQL
Grammar”错误,这种错误通常在执...
赞
踩
article
【
华为
OD
机考 统一考试机试C卷】
路口
最
短时间
问题(C++
Java
Java
Script Pyth...
假定街道是棋盘型的,每格距离相等,车辆通过每格街道需要时间均为 timePerRoad;_
华为
od
算法
路口
最
短时间
问题华...
赞
踩
article
java
分词
获取
词性
_
jie
分词
之
分词
、
词性
分析、
关键词
抽取...
jie
ba.analyse.extract
_
tags(sentence, topK=20, withWeight=Fal...
赞
踩
article
华为OD机试 -
会议室
占用
时间
(
Java
& JS &
Python
& C &
C++
)...
输入为 M 和 requirements,M 表示需求开发
时间
要求,requirements 表示每个需求工作量大小,N...
赞
踩
article
华为
OD机试 -
完美
走位
(
Java
& JS &
Python
& C &
C++
)...
假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务...
赞
踩
article
华为
OD机试 - 转盘
寿司
(
Java
& JS &
Python
&
C
&
C
++)...
华为
OD机试 - 转盘
寿司
(
Java
& JS &
Python
&
C
&
C
++),考察:单调栈
华为
OD机试 - 转...
赞
踩
article
OpenAI
Java
SDK——
chatgpt
-
java
更新支持
GPT
-
3.5
-
Turbo
,支持语...
chatgpt
-
java
是一个
OpenAI
的
Java
版SDK,开箱即用。以支持最新版本
GPT
-
3.5
-
Turbo
模型以及...
赞
踩
article
bert
模型源码详细解读
_
bert
_
config
.
json
...
一.
bert
配置参数解读
bert
_
config
.
json
{ "attention
_
probs
_
dropout
_
prob...
赞
踩
article
Python3
.x中
json
.
dumps
报TypeError: Object of
type
‘by...
Python3
执行报错:TypeError: Object of
type
bytes
is not
JSON
seri...
赞
踩
article
Java
調用
ChatGPT
API實例(
text
-
davinci
-
003
)_调用
text
-davi...
GPT3模型接口,模型名称为“
text
-
davinci
-
003
”,调用费用为0.02美元/1000tokens,折合下来...
赞
踩
article
java
agent
技术
原理
及简单
实现
...
注:本文定义-在函数执行前后增加对应的逻辑的操作统称为MOCK1、引子在某天与QA同学进行沟通时,发现QA同学有针对某个...
赞
踩
article
Java
Agent
入门教程_-
javaagent
:...
一、什么是
Java
Agent
Java
agent本质上可以理解为一个插件,该插件就是一个精心提供的jar包。只是启动方...
赞
踩
article
Java
Agent
探针技术_
javaagent
...
是指 JVM 提供的一种进程间通信的功能,能让一个进程传命令给另一个进程,并进行一些内部的操作,比如进行线程 dump,...
赞
踩
相关标签
java 分布式事务 atom
算法
华为机试
Java
JavaScript
Python
C++
python
pytorch
开发语言
华为od
测试用例
java
java opennlp
自然语言处理
人工智能
sql
数据库
c语言
javascript
c++
java 分词获取词性