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

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

对于如何用Java嵌入式脚本快速解析多层json,相信很多没有经验的人都是一窍不通的。为此,本文总结了问题产生的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

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

解析Json一般是为了重新计算。这些常见的开源包大多为读取和解析Json提供了丰富的接口。但如何将多层Json数据过滤、深度计算、扩展为二维数据用于其他服务,仍然需要复杂的硬编码,一般需要关系数据库的帮助(创建临时表、解析入库,然后使用SQL进行二次操作等)。).当这些步骤完成后,开发人员需要头疼。

比如处理这样一个场景:订单信息的Json数据分为两层:第一层是国家和地区,第二层是详细数据。现在想了解一下2013年华北地区的订单情况。

一些源数据如下:

[{‘COUNTRY’:’China ‘,’ AREA’: ‘东北’,’ ORDERS’:[

{‘ORDER_ID’:10252,’ CUSTOMER_ID’:’SUPRD ‘,’ EMPLOYEE_ID’:4,…},

{ ‘订单标识’ :10318,’客户标识’ :’ISLAT ‘,’员工标识’ :8,…},

…]},

{‘COUNTRY’:’China ‘,’ AREA’: ‘华东’,’ 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

中国

华北

10402

ERNSH

2013-01-02

中国

华北

10403

ERNSH

2013-01-03

中国

华北

10404

MAGAA

2

2013-01-03

中国

华北

10407

OTTIK

2

2013-01-07

Java解析代码的一部分应该编写如下:

.

JSON object JSON object=JSON object . from object(order str);

JSON array JSON array=JSON object . getjson array(‘ COUNTRY ‘);

.

JSONArray two=JSONArray . getjsonarray(‘ ORDERS ‘);

JSONObject two=null

ListMapString,String list=new ArrayListMapString,String();

for(int I=0;I two . size();I){ 0

two=two . Getjsonobject(I);

MapString,String map=new HashMapString,String();

.

list . add(map);

}

.

如果有set运算符,那么Json解析将会简单得多。它不仅两次封装了Json类库,而且实现同样的算法所需的代码更少。而且在集合操作领域精心设计了一套函数库来应对各种结构化操作,不再需要安装配置第三方数据库软件。例如,从解析到过滤,只需要4行就可以完成:

A

一个

=json(文件(‘ orders.json ‘)。read())

2

=a1 . select(COUNTRY==’ China ‘ area . contain(‘华北’)

=A2 . news(ORDERS;国家,地区,${B1。ORDERS.fname()。concat@c()})

=A3.select(年份(ORDER_DATE)==2013)

看完以上内容,你掌握了如何用Java嵌入式脚本快速解析多层json了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131712.html

(0)

相关推荐

  • 如何理解django中url路由系统

    技术如何理解django中url路由系统如何理解django中url路由系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于高质量的Web

    攻略 2021年10月21日
  • C++怎么将帮助函数和它们支持的类放在同一命名空间

    技术C++怎么将帮助函数和它们支持的类放在同一命名空间这篇文章主要讲解了“C++怎么将帮助函数和它们支持的类放在同一命名空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年11月25日
  • 字符串方式创建二叉树python(二叉树链表的数据结构python)

    技术如何进行python二叉树链表相互转换今天就跟大家聊聊有关如何进行python二叉树链表相互转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。A,有序链表转换

    攻略 2021年12月13日
  • 如何解决php header失效

    技术如何解决php header失效本篇内容主要讲解“如何解决php header失效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php header失效”吧!解决

    攻略 2021年10月23日
  • 滥竽充数的道理,滥竽充数告诉我们什么道理

    技术滥竽充数的道理,滥竽充数告诉我们什么道理滥竽充数讲的是战国时有个国军齐宣王喜欢听乐队演奏滥竽充数的道理,而且人越多合奏越觉得气派动听。根本不懂音乐的南郭先生了解了齐宣王的喜好,蒙混到合奏队伍之中,假模假式的吹的很卖力

    生活 2021年10月26日
  • 如何使用mysqldump对mysql进行备份和恢复

    技术如何使用mysqldump对mysql进行备份和恢复这篇文章给大家分享的是有关如何使用mysqldump对mysql进行备份和恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysqld

    攻略 2021年11月3日