ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段
ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段
有一段Json字符串:
{"code": 200,"message": "success","data": {"total": "1","list": [{"question_no": "215202","question_stem": "师生进入生化类实验室工作,一定要搞清楚( )等位置,出现情况能做好相应的自救工作。","v_establish_date": "2021-07-02","professional_level_id": "01","professional_level": "通识类","knowledge_point_id": "71","knowledge_point": "实验室安全","question_type_id": "01","question_type": "单选题","user_id": null,"user_name": null,"q_college": "学校","q_college_id": "%","numrow": "1","act": {"questionDelete": "删除","questionModify": "修改","getQuestionDetail": "查看","copyQuestion": "复制到本单位题库"}}]} }
怎么结合com.alibaba的fastjson读取到question_no?
ChatGPT:
要使用阿里巴巴的FastJSON库来解析JSON字符串并提取其中的question_no
字段,您需要按照以下步骤进行操作:
-
导入FastJSON库。
-
使用FastJSON的
JSONObject
来解析JSON字符串。 -
获取
data
字段对应的JSONObject。 -
获取
list
字段对应的JSONArray。 -
获取数组中的第一个元素,然后获取其中的
question_no
字段。
以下是示例代码:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;public class Main {public static void main(String[] args) {String jsonString = "{\n" +" \"code\": 200,\n" +" \"message\": \"success\",\n" +" \"data\": {\n" +" \"total\": \"1\",\n" +" \"list\": [\n" +" {\n" +" \"question_no\": \"215202\",\n" +" \"question_stem\": \"师生进入生化类实验室工作,一定要搞清楚( )等位置,出现情况能做好相应的自救工作。\",\n" +" \"v_establish_date\": \"2021-07-02\",\n" +" \"professional_level_id\": \"01\",\n" +" \"professional_level\": \"通识类\",\n" +" \"knowledge_point_id\": \"71\",\n" +" \"knowledge_point\": \"实验室安全\",\n" +" \"question_type_id\": \"01\",\n" +" \"question_type\": \"单选题\",\n" +" \"user_id\": null,\n" +" \"user_name\": null,\n" +" \"q_college\": \"学校\",\n" +" \"q_college_id\": \"%\",\n" +" \"numrow\": \"1\",\n" +" \"act\": {\n" +" \"questionDelete\": \"删除\",\n" +" \"questionModify\": \"修改\",\n" +" \"getQuestionDetail\": \"查看\",\n" +" \"copyQuestion\": \"复制到本单位题库\"\n" +" }\n" +" }\n" +" ]\n" +" }\n" +"}";// 使用FastJSON解析JSON字符串JSONObject jsonObject = JSON.parseObject(jsonString);// 获取data字段对应的JSONObjectJSONObject dataObject = jsonObject.getJSONObject("data");// 获取list字段对应的JSONArrayJSONArray listArray = dataObject.getJSONArray("list");// 获取数组中的第一个元素JSONObject firstElement = listArray.getJSONObject(0);// 获取question_no字段的值String questionNo = firstElement.getString("question_no");System.out.println("question_no: " + questionNo);}
}
上述代码将打印出question_no
字段的值"215202"。您可以根据实际需求进行进一步处理或存储。确保在项目中导入FastJSON库以使上述代码正常工作。
得到的Json字符串是这样的怎么办?
{"code":200,"message":"success","data":{"total":"1","list":[{"question_no":"215202","question_stem":"\u5e08\u751f\u8fdb\u5165\u751f\u5316\u7c7b\u5b9e\u9a8c\u5ba4\u5de5\u4f5c\uff0c\u4e00\u5b9a\u8981\u641e\u6e05\u695a\uff08\u3000\uff09\u7b49\u4f4d\u7f6e\uff0c\u51fa\u73b0\u60c5\u51b5\u80fd\u505a\u597d\u76f8\u5e94\u7684\u81ea\u6551\u5de5\u4f5c\u3002","v_establish_date":"2021-07-02","professional_level_id":"01","professional_level":"\u901a\u8bc6\u7c7b","knowledge_point_id":"71","knowledge_point":"\u5b9e\u9a8c\u5ba4\u5b89\u5168","question_type_id":"01","question_type":"\u5355\u9009\u9898","user_id":null,"user_name":null,"q_college":"\u5b66\u6821","q_college_id":"%","numrow":"1","act":{"questionDelete":"\u5220\u9664","questionModify":"\u4fee\u6539","getQuestionDetail":"\u67e5\u770b","copyQuestion":"\u590d\u5236\u5230\u672c\u5355\u4f4d\u9898\u5e93"}}]}}
ChatGPT:
您提供的JSON字符串包含Unicode编码字符,这是一种在JSON中表示特殊字符的方式。在FastJSON中,您可以使用JSON.parseObject
方法来解析这样的JSON字符串,FastJSON会自动处理Unicode编码字符。
以下是如何解析包含Unicode编码字符的JSON字符串的示例代码:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;public class Main {public static void main(String[] args) {String jsonString = "{\"code\":200,\"message\":\"success\",\"data\":{\"total\":\"1\",\"list\":[{\"question_no\":\"215202\",\"question_stem\":\"\\u5e08\\u751f\\u8fdb\\u5165\\u751f\\u5316\\u7c7b\\u5b9e\\u9a8c\\u5ba4\\u5de5\\u4f5c\\uff0c\\u4e00\\u5b9a\\u8981\\u641e\\u6e05\\u695a\\uff08\\u3000\\uff09\\u7b49\\u4f4d\\u7f6e\\uff0c\\u51fa\u73b0\u60c5\u51b5\u80fd\u505a\u597d\u76f8\u5e94\u7684\u81ea\u6551\u5de5\u4f5c\\u3002\",\"v_establish_date\":\"2021-07-02\",\"professional_level_id\":\"01\",\"professional_level\":\"\\u901a\\u8bc6\\u7c7b\",\"knowledge_point_id\":\"71\",\"knowledge_point\":\"\\u5b9e\\u9a8c\\u5ba4\\u5b89\\u5168\",\"question_type_id\":\"01\",\"question_type\":\"\\u5355\\u9009\\u9898\",\"user_id\":null,\"user_name\":null,\"q_college\":\"\\u5b66\\u6821\",\"q_college_id\":\"%\",\"numrow\":\"1\",\"act\":{\"questionDelete\":\"\\u5220\\u9664\",\"questionModify\":\"\\u4fee\\u6539\",\"getQuestionDetail\":\"\\u67e5\\u770b\",\"copyQuestion\":\"\\u590d\\u5236\\u5230\\u672c\\u5355\\u4f4d\\u9898\\u5e93\"}}]}}";// 使用FastJSON解析JSON字符串JSONObject jsonObject = JSON.parseObject(jsonString);// 获取data字段对应的JSONObjectJSONObject dataObject = jsonObject.getJSONObject("data");// 获取list字段对应的JSONArrayJSONArray listArray = dataObject.getJSONArray("list");// 获取数组中的第一个元素JSONObject firstElement = listArray.getJSONObject(0);// 获取question_no字段的值String questionNo = firstElement.getString("question_no");System.out.println("question_no: " + questionNo);}
}
这个示例代码会正确解析包含Unicode编码字符的JSON字符串,并提取question_no
字段的值。再次提醒确保在项目中导入FastJSON库。
相关文章:
ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段
ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段 有一段Json字符串: {"code": 200,"message": "success","data": {"total": "1","l…...
2、ARM处理器概论
一、ARM处理器概述 1、ARM的含义 ARM(Advanced RISC Machines)有三种含义,一个公司的名称、一类处理器的通称、一种技术 ARM公司: 成立于1990年11月,前身为Acorn计算机公司主要设计ARM系列RISC处理器内核授权ARM内…...
【Python】福利彩票复式模拟选号程序
【效果】 【注意】 逻辑是用Random模拟10000次复试彩票选号,然后给出最大可能性一组。但是模拟终究是模拟,和现实彩票结果没有任何联系,下载下来玩就是了,没人能保证模拟出中奖号码,不要投机,不要投机! 【修改】 代码很简单,如果想改成不是复式的,自行修改即可。 如…...
Pytorch 机器学习专业基础知识+神经网络搭建相关知识
文章目录 一、三种学习方式二、机器学习的一些专业术语三、模型相关知识四、常用的保留策略五、数据处理六、解决过拟合与欠拟合七、成功的衡量标准 一、三种学习方式 有监督学习: 1、分类问题 2、回归问题 3、图像分割 4、语音识别 5、语言翻译 无监督学习 1、聚类…...
torch 和paddle 的GPU版本可以放在同一个conda环境下吗
新建conda 虚拟环境,python 版本3.8.17 虚拟机,系统centos 7,内核版本Linux fastknow 3.10.0-1160.92.1.el7.x86_64 ,显卡T4,nvidia-smi ,460.32.03,对应cuda 11.2,安装cuda 11.2和cudnn,conda…...
MYBATIS-PLUS入门使用、踩坑记录
转载: mybatis-plus入门使用、踩坑记录 - 灰信网(软件开发博客聚合) 首先引入MYBATIS-PLUS依赖: SPRING BOOT项目: <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus…...
C# 静态类和sealed类(密封类)的区别
网上看到很多文章写静态类,和密封类,但是鲜有它们的对比总结,在此简单总结一下: 静态类(Static Class): 静态类不能被实例化,其成员都是静态的,可以通过类名直接访问。静…...
el-table如何实现自动缩放,提示隐藏内容
前提问题:大屏展示中某一个区域是表格内容,当放大或缩小网页大小时,表格宽度随之缩放,但表格内容未进行缩放,需要表格内容与网页大小同时进行缩放,且表头和表格内容宽度不够未显示全时,需要进行…...
CRM客户管理软件对出海企业的帮助与好处
2023我们走出了疫情的阴霾,经济下行压力大,面对内需的不足,国内企业纷纷选择出海,拓展海外业务增加企业营收。企业出海不是一件易事,有了CRM系统可以让公司事半功倍,下面就来说一说CRM客户管理软件能为出海…...
【QT--使用百度地图API显示地图并绘制路线】
QT--使用百度地图API显示地图并绘制路线 前言准备工作申请百度地图密钥(AK)安装开发环境 开发过程新建项目ui界面GPSManager类主窗口Map 效果展示 前言 先吐槽一下下,本身qt学的就不咋滴,谁想到第一件事就是让写一个上位机工具,根据CAN总线传…...
C数据结构二.练习题
一.求级数和 2.求最大子序列问题:设给定一个整数序列 ai.az..,a,(可能有负数).设计一个穷举算法,求a 的最大值。例如,对于序列 A {1,-1,1,-1,-1,1,1,1,1.1,-1,-1.1,-1,1,-1},子序列 A[5..9](1,1,1,1,1)具有最大值5 3.设有两个正整数 m 和n,编写一个算法 gcd(m,n),求它们的最大公…...
猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
(1)数据库 MSQ 数据库 安装 使用 以及增删改查
下载官网:MySQL :: Download MySQL Shell 常见的数据库分为: 关系型数据库, Oracle、MySQL、SQLServer、Access非关系型数据库, MongoDB、Redis、Solr、ElasticSearch、Hive、HBase 安装过程 使用过程...
什么测试自动化测试?
什么测试自动化测试? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多。一直想动笔写一篇文章分享自动化测试实践中的一些经验。终于决定花点时间来做这件事儿。 首先理清自动化测试的概念,广义上来讲&a…...
【踩坑篇】代码中使用 Long 作为 Map的Key存在的问题
本周的工作结束,详述一些在项目代码中实际遇到的一些坑。 代码中遇到这样一个场景: 有个业务接口,接口返回的值是一个JSON格式的字符串,通过JSON解析的方式,解析为格式为: Map<Long, Map<String, O…...
微服务保护-授权规则/规则持久化
授权规则 基本规则 授权规则可以对调用方的来源做控制,有白名单和黑名单两种方式。 白名单:来源(origin)在白名单内的调用者允许访问 黑名单:来源(origin)在黑名单内的调用者不允许访问 点…...
练习敲代码速度
2023年9月18日,周一晚上 今晚不想学习,但又不想玩游戏,于是找了一些练习敲代码的网站来玩玩,顺便练习一下敲代码的速度 目录 参考资料个人推荐第一个 第二个第三个 参考资料 电脑打字慢,有哪些比较好的练打字软件&a…...
uni-app:实现条件判断展示图片(函数判定+三目运算)
一、多条件判断(通过函数进行图片展示) 效果 代码 在data中定义图片信息和要传递的数据信息,在src中写入函数并携带要传递的数据,通过传递的数据在函数中进行判断,并返回对应的图片信息 <template><view&…...
http概念
概念:HTTP,hyper text transfer protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全。 2.基于请求-响应模型的:一次请求对应一…...
Postman应用——Variable变量使用(Global、Environment和Collection)
文章目录 变量的使用同名变量优先级Postman内置变量 Global、Environment和Collection变量设置,点击查看。 变量的使用 语法: {{变量名}}使用{{}}包裹变量名,引用设置好的变量。 注意:Environment变量引用前需要先选择已有的环…...
php高级 TP+Redis实现发布订阅和消息推送案例实战
Redis 的发布-订阅模型是一种消息通信模式,它允许客户端之间通过特定的频道进行通信。在这种模型中,有些客户端负责发布消息(发布者),而其他客户端则订阅它们感兴趣的频道并接收这些消息(订阅者)…...
Python 基础入门
给我家憨憨写的python教程 ——雁丘 Python解释器Pycharm的安装部署 关于本专栏一 Python简介1.1 Python优点1.2 支持的编程方式1.3 版本兼容问题1.4 Python的开发环境1.4.1 常用的 Python 编辑器1.4.2 常用的 Python IDE1.4.3 Python IDLE1.4.4 第三方库安装 1.5 Python 的运…...
【跟小嘉学 Rust 编程】二十九、Rust 中的零拷贝序列化解决方案(rkyv)
系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...
路由器端口转发
什么是路由器端口转发 路由器端口转发是一种网络配置技术,用于将公共网络(如互联网)上的请求转发到私有网络中的特定设备或服务。它允许外部设备通过路由器访问内部网络中的设备或服务,实现网络上的通信和互动。 路由器端口转发…...
Redis模块一:缓存简介
目录 缓存的定义 应用 生活案例 程序中的缓存 缓存优点 缓存的定义 缓存是⼀个高速数据交换的存储器,使用它可以快速的访问和操作数据。 应用 1.CPU缓存:CPU缓存是位于CPU和内存之间的临时存储器,它的容量通常远小于内存࿰…...
【去除若依首页】有些小项目不需要首页,去除方法
第一步 // // // // // // // // // // // // // // // // // // 修改登录页 Login.vue 中 大概144行 ,注释掉原有跳转。替换为自己的跳转路径 // // // // // // // // // // // // // this.$router.push({ path: this.redirect || …...
Ardupilot — EKF3使用光流室内定位代码梳理
文章目录 前言 1 Copter.cpp 1.1 void IRAM_ATTR Copter::fast_loop() 1.2 void Copter::read_AHRS(void) 1.3 对象ahrs说明 2 AP_AHRS_NavEKF.cpp 2.1 void AP_AHRS_NavEKF::update(bool skip_ins_update) 2.2 void AP_AHRS_NavEKF::update_EKF3(void) 2.3 对象EKF3说…...
【Linux】自动化构建工具 —— make/makefileLinux第一个小程序 - 进度条
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:Linux 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:Linux编译…...
tensorflow的unet模型
import tensorflow as tf from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, Dropout, UpSampling2D, concatenate# 定义 U-Net 模型 def unet(input_size(256, 256, 3)):inputs Input(input_size)# 编码器部分conv1 Conv2D(64, 3, activationrelu, padding…...
(2023 最新版)IntelliJ IDEA 下载安装及配置教程
IntelliJ IDEA下载安装教程(图解) IntelliJ IDEA 简称 IDEA,由 JetBrains 公司开发,是 Java 编程语言开发的集成环境,具有美观,高效等众多特点。在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本…...
建设部指定招标网站/站长之家ip地址查询
上一篇ESFramework扩展之EsfP2P -- 基于ESFramework的P2P实现 主要介绍了EsfP2P如何协助建立P2P Session,那只是整个故事的一半,EsfP2P主要职能的另一半是确保P2P消息的可靠传递。我们已经知道,目前的EsfP2P扩展的实现…...
网站建设教程菜鸟物流/百度识图搜索
很多人在投了简历后没回音,他们往往会抱怨公司不好、HR没眼光、自己运气不好等各种理由,却很少有人会反思是不是自己投简历的方式错了。接下来就告诉你,究竟为什么你的简历会“零回音”。一、冲名气而投此类投递者,往往只看公司名…...
wordpress 评论表情插件/aso应用优化
前言 本章内容是android.os.HandlerThread,版本为Android 3.1 r1,翻译来自"雪鹰工作室",再次感谢"雪鹰工作室"!欢迎你一起参与Android的中文翻译,联系我over140gmail.com。 声明 欢迎转载&#x…...
网站平台优化/百度客服号码
第2课-数据的艺术 数据结构起源(1) 计算机从解决数值计算问题到解决生活中的问题。 (2) 现实生活中的问题涉及不同个体间的复杂联系。 (3) 需要在计算机程序中描述生活中个体间的。 数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系。 关键概念(1…...
政府大型网站建设/百度客服转人工
Lex自动地表示把输入串词法结构的正规式及相应的动作转换成一个宿主语言的程序,即词法分析程序,它有一个固定的名字yyler,在这里yyler是一个C语言的程序。Yylex将识别出输入串中的词形,并且在识别出某词形…...
集团网站建设服务公司/成都seo公司
package work1;import java.util.Scanner;public class Test {//切记,类名一定要大写,这里我出现了一个错误,就是car类名小写,/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubcar …...