iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java嵌入脚本怎么快速解析多层 json
  • 767
分享到

Java嵌入脚本怎么快速解析多层 json

2023-06-03 14:06:20 767人浏览 泡泡鱼
摘要

Java嵌入脚本怎么快速解析多层 JSON,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。关于json处理的开源包有很多,比如json-lib、jackson、Gson、Fast

Java嵌入脚本怎么快速解析多层 JSON,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

关于json处理的开源包有很多,比如json-lib、jackson、Gson、Fastjson。Gson是谷歌做的,功能强大;Fastjson是阿里巴巴做的,性能较快。具体用哪个,你开心就好。

Json解析出来一般都是为了再次计算,常见的这些开源包大多都对Json的读取与解析提供了丰富的接口,但是接下来如何把多层Json数据经过筛选、进行深入计算并展开成二维数据,供给其它服务使用,仍然需要复杂硬编码,一般还需要借助关系数据库(创建临时表,解析入库,再使用sql对其二次运算等),这些步骤搞起来,就需要开发人员去头疼了。

比如要处理这么个场景:订单信息的Json数据分为两层: 第一层是国家和地区,第二层是明细数据。现在想要查询出中国华北地区2013年的订单。

部分源数据如下:

[{"COUNTRY":"China","AREA":"Northeast China","ORDERS":[

{"ORDER_ID":10252,"CUSTOMER_ID":"SUPRD","EMPLOYEE_ID":4, …},

{"ORDER_ID":10318,"CUSTOMER_ID":"ISLAT","EMPLOYEE_ID":8, …},

…]},

{"COUNTRY":"China","AREA":"East China","ORDERS":[

{"ORDER_ID":10249,"CUSTOMER_ID":"TOMSP","EMPLOYEE_ID":6, …},

{"ORDER_ID":10251,"CUSTOMER_ID":"VICTE","EMPLOYEE_ID":3, …},

…]},

…]

期望Json结构化并过滤后的效果:

COUNTRY

AREA

ORDER_ID

CUSTOMER_ID

EMPLOYEE_ID

ORDER_DATE

China

North China

10402

ERNSH

8

2013-01-02

China

North China

10403

ERNSH

4

2013-01-03

China

North China

10404

MAGAA

2

2013-01-03

China

North China

10407

OTTIK

2

2013-01-07

Java解析的部分代码大概要写成这样:

...

JSONObject jsonObject = JSONObject.fromObject(orderstr);

JSONArray jsonArray = jsonObject.getJSONArray("COUNTRY");

...

JSONArray twos = jsonArray.getJSONArray("ORDERS");

JSONObject two = null;

List<Map<String, String>> list = new ArrayList<Map<String, String>>();

        for (int i = 0; i < twos.size(); i++) {

                 two = twos.getJSONObject(i);

                 Map<String, String> map = new HashMap<String, String>();

                 ...

                 list.add(map);

                 }

...

如果有了集算器,Json解析就会简单很多,它不仅把Json类库做了二次封装,实现同样的算法只需更少的代码,且精心设计了一套集合运算领域的函数库,以应对结构化后的各类运算,不再需要安装配置第三方数据库软件。比如上面从解析到过滤,只需4行就搞定了:


A

1

=json(file("orders.json").read())

2

=A1.select(COUNTRY=="China" && AREA.contain("North China"))

3

=A2.news(ORDERS;COUNTRY,AREA,${B1.ORDERS.fname().concat@c()})

4

=A3.select(year(ORDER_DATE)==2013)

看完上述内容,你们掌握Java嵌入脚本怎么快速解析多层 json的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Java嵌入脚本怎么快速解析多层 json

本文链接: https://www.lsjlt.com/news/234698.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java嵌入脚本怎么快速解析多层 json
    Java嵌入脚本怎么快速解析多层 json,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。关于Json处理的开源包有很多,比如json-lib、jackson、Gson、Fast...
    99+
    2023-06-03
  • java解析多层嵌套json字符串问题
    目录java分别解析下面两个json字符串嵌套(任意层)JSON解析转换为Map源代码java分别解析下面两个json字符串 package jansonDemo; import...
    99+
    2024-04-02
  • Java多层嵌套JSON类型数据全面解析
    目录多层嵌套JSON类型数据解析以下举例数据结构解析代码json解析多层嵌套并转为对应类(List)Json(随便扒的格式,将就看~)关键依赖JAVABEAN转JSONObject多...
    99+
    2024-04-02
  • 怎么快速从深层嵌套JSON中找到特定的Key
    本篇内容介绍了“怎么快速从深层嵌套JSON中找到特定的Key”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • 怎么快速了解Java多线程
    这篇文章主要讲解了“怎么快速了解Java多线程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么快速了解Java多线程”吧!线程线程的概念:线程(英语:Thread)是操作系统能够进行运算调...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作