实际运用JsonObject和JsonArray的积累

2024-05-02 17:08

本文主要是介绍实际运用JsonObject和JsonArray的积累,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.调用第三方接口获取返回数据

 JSONObject json = JSONObject.parseObject(httpRequestUtil.post(url, parmaMap));String s = json.getString("result");

类似于这样,获取到数据后,可以打印出来数据,如果json对象里面还嵌套有json对象或者是json数组,那就需要进一步的去解析出来,如果是json对象的话,那就直接嵌套上面的代码即可,只需要注意的是你需要解析的json对象的名字。

JSONObject json2 = JSONObject.parseObject(js.getString("data"));String s = json2.getString("content");

如果是嵌套的是json数组,那就需要另外的方法,

 JSONArray array = res.getJSONArray("subjects")

那就需要声明一个数组去接收解析出来的json数组,否则是无法装载的。拿到json数组以后,一般情况是继续转回为json对象进行取值,所以,又需要将json数组循环取出放到json对象中,以便我们获取到里面的数据。

JSONArray array = res.getJSONArray("subjects");for (int i = 0; i <array.size(); i++) {JSONObject returnjson = new JSONObject();JSONObject json2 = array.getJSONObject(i);//拿到评分String rating = json2.getString("rating");String title = json2.getString("title");//拿到主演照片JSONArray array2 = json2.getJSONArray("casts");JSONArray arrays = new JSONArray();for (int a=0;a<array2.size();a++){JSONObject json3 = array2.getJSONObject(a);//System.out.println(json3.getString("avatars"));JSONObject json4 = JSONObject.parseObject(json3.getString("avatars"));JSONObject json5 = new JSONObject();String starPicture = json4.getString("medium");String name = json3.getString("name");json5.put("starPicture",starPicture);json5.put("name",name);arrays.add(json5);}returnjson.put("title",title);returnjson.put("rating", rating);returnjson.put("starPicture", arrays);arr.add(returnjson);}

实话,这上面是我在实践中摸索出来的代码,或许有很多优化的地方,但是重在通过自我摸索获取的经验。其实我这里调用的接口返回数据是比较臃肿的,一层嵌套一层。所以我就直接去把它一层一层的解开,最终拿到想要的数据去组装。

上面的解析json逻辑是这样的。。。第一步,拿到成功返回的数据data。第二步,解析出data中的json数组,并声明一个json数组进行接收。第三步,将解析出的json数组重新序列化json对象。第四步,拿到重新序列化对象的json对象里面的数据。第五步,最后进行数据组装。

这里我要说的是,一定要注意自己的json对象和json数组定义的位置,否则你拿到的永远是最后一条数据。

看到我这里最后一行的arr数组,我这里就是声明在外面,而那些代码逐步执行并循环的那些对象和数组必须放在里面,以便执行后立即装载。这是我对json遇到的比较大的一个坑。希望可以谨记。

这篇关于实际运用JsonObject和JsonArray的积累的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/954744

相关文章

poj 2431 poj 3253 优先队列的运用

poj 2431: 题意: 一条路起点为0, 终点为l。 卡车初始时在0点,并且有p升油,假设油箱无限大。 给n个加油站,每个加油站距离终点 l 距离为 x[i],可以加的油量为fuel[i]。 问最少加几次油可以到达终点,若不能到达,输出-1。 解析: 《挑战程序设计竞赛》: “在卡车开往终点的途中,只有在加油站才可以加油。但是,如果认为“在到达加油站i时,就获得了一

通过Ajax请求后台数据,返回JSONArray(JsonObject),页面(Jquery)以table的形式展示

点击“会商人员情况表”,弹出层,显示一个表格,如下图: 利用Ajax和Jquery和JSONArray和JsonObject来实现: 代码如下: 在hspersons.html中: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>会商人员情况表</title><script type="text/javasc

ElasticSearch 6.1.1运用代码添加索引及其添加,修改,删除文档

1、新建一个MAVEN项目:ElasticSearchTest 2、修改pom.xml文件内容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or

Python 错误 TypeError 解析,实际错误实例详解 (五)

文章目录 前言TypeError:‘DataFrame’ object is not callable 错误常见的错误发生场景一、错误地使用小括号而非方括号来访问列二、意外地将函数名覆盖为 DataFrame三、 在方法链中错误地使用小括号 小结 Python 中错误 TypeError: 'NoneType' object is not subscriptablePython 中的 Non

巧妙的运用Floyd算法

题目大概意思:输入n,m,n代表n个点,接着输入n个点之间的距离(n*n的矩阵),接下来m次询问,输入a,b,c如果a,b之间的最短路径中存在c点则输出Yes,否则输出No 比赛的时候没有做出来,赛后帆哥一点播就知道了。。。。我写的时候直接用floy算法求距离并记录路径。。然后TLE到死。。。我就奇怪了数据n,m都小于100,怎么会TLE啊。。。坑爹啊。。。我一直怀疑是不是用别的算法。。。。。帆

【kubernetes】配置管理中心Configmap运用

一,介绍 Configmap(简写 cm)是k8s中的资源对象,用于保存非机密性的配置的,数据可以用key/value键值对的形式保存,也可通过文件的形式保存。 【局限性】:在ConfigMap不是用来保存大量数据的,其数据量不可超过1 MiB。 kubectl get cm 二,功能 Configmap资源对象,可以有一个或者多个Configmap,通过 volume 形式映射到容器

运用WPS快速整理中英混排的网页文字的方法

朋友从网上下载了一篇技术文档,发现文档中每一行的行末都有一个段落符号,而真正要分段的段首则有4个半角空格,还有许多空段。   想重新编排一下,由于文档比较长,手工操作肯定不行,我向他推荐用WPS文字的“智能格式整理”功能。在该文档处于打开状态时,用鼠标点开“工具”菜单下的“文字工具→智能格式整理”,几秒钟后,所有的段首空格全部消失,段与段之间的空段也全部消除,但每一行行末的段落标记却依然

堆(逐个添加元素创建堆)-堆结构的创建+堆结构的实际应用

一、问题引入 一堆数据的值在不断变化,我们想要从这堆数据中获取到最大值或者最小值(比如电影排行榜中电影的排名,每部电影观看人数越多,那么该部电影的排名就越高) 1、数据结构解决的是数据的存储问题,算法解决的是存储了的数据的使用效率问题 2、数据结构里面的堆结构(heap)和Java语言中的数据堆不一样 3、数据结构里面的堆结构本质上是数组 4、数组的元素查询效率高(由于使用索引查询),时

基于实际业务场景下的Flume部署

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 有这样一个场景,我们要基于某个web服务实时持续收集用户行为数据; 再实施方案前,我们做了以下的准备工作 (不细说) web服务端部署nginx,用于收集用户行为并有形成log (172.17.111.111)我们数据平台是部

智能匹配新高度:相亲交友系统如何运用AI技术提升用户体验

在数字化时代,相亲交友系统正逐渐融入人工智能(AI)技术,以提升用户体验和匹配效率。AI的引入不仅改变了传统的交友方式,还为用户带来了更加个性化和精准的交友体验。以下是一篇关于如何运用AI技术提升相亲交友系统用户体验的文章。 智能匹配新高度:相亲交友系统如何运用AI技术提升用户体验 随着人工智能技术的飞速发展,相亲交友系统正迎来一场革命。AI的引入不仅提高了匹配的精准度,还极大地丰富了