网站首页 > java教程 正文
FastJson解析器JsonPath的使用FastJson是一个Java语言编写的高性能功能完善的JSON库。它提供了JSON格式字符串和Java对象之间的转换,以及Java对象之间的转换。而JsonPath则是一种查询语言,用于从JSON文档中提取信息。
下面是一个简单的示例,展示如何使用
FastJson的JsonPath功能:
1. 引入FastJson库
首先,你需要在项目中引入FastJson的依赖。
如果你使用Maven,可以在pom.xm1中添加如下依赖:
<dependency>
?groupId>com.alibaba</groupId>?artifactId>fastjson</artifactId>
<Version>版本号</version><!--
请替换为最新版本号-->
</ dependency>
2. 准备JSON字符串
假设我们有以下的JSON字符串:
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the
Century",
},
{
"price": 8.95
"category": "fiction","author": "Evelyn Waugh",
"title": "Sword of
Honour",
"price": 12.99
{
"category": "fiction",
"author": "Herman
Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
{
"category": "fiction",
"author": ". R. R.
Tolkien",
"title": "Lord of theRings",
"isbn": "0-395-19395-8",
"price": 22.99
}
"bicycle": {
"color": "red",
"price": 19.95
}
"expensive": 10
}
3. 使用JsonPath查询
现在,我们可以使用JsonPath来查询JSON中的特定信息。以下是一些示例:
获取所有书的标题:
String json = "上面的JSON字符串";
List<String> titles =(List<String >)
JSONPath. evalljson,
"S.store.book[*].title");
for (String title : titles) {
System.out.println (title);
}
获取价格超过10的书:
List<Object> books =
(List<Object >)
JSONPath. evalljson,
"$.store.bookl? (@.price > 10)]");
for (Object book : books) ?
System.out.println(JSONObject.toJ
SONString (book));
}
获取最贵的书的标题和价格:
Object maxPriceBook =JSONPath. evalljson,
"$.store.book[max@.price)]");
System.out.println("最贵的书的标题:
1+
JSONObject.toJSONString(maxPriceB
ook).contains("|"titlel":")?
JSONObject. parseObject (JSONObject
? toJSONString(maxPriceBook)).gets
tring("title"):"未知");
System.out.println("最贵的书的价格:
"+
JSONObject.toJSONString(maxPriceB
ook).contains("|"price\":") ?
JSONObject. parseObject (JSONObject
? toJSONString(maxPriceBook)).getD
ouble("price"):"未知");
这些只是JsonPath的一些基本用法。你可以根据具体需求,结合JsonPath的语法规则,编写更复杂的查询表达式。
猜你喜欢
- 2024-10-28 JavaScript获取json中key所对应的value值的简单方法
- 2024-10-28 为什么JSON.parse会损坏大数字,如何解决这个问题?
- 2024-10-28 深入浅出Json-Schema-Validation(深入浅出stm)
- 2024-10-28 这几个JSON 工具,你是不是错过了
- 2024-10-28 深入解析 JSONPath:从入门到精通(jsonpath解析json)
- 2024-10-28 《Servlet》第18节:HttpServletResponse响应JSON和HTML内容
- 2024-10-28 netty系列之:netty中的核心解码器json
- 2024-10-28 Android JSON(android json to room)
- 2024-10-28 一种适合懒人的JSON解析方式(json解析工具哪个好用)
- 2024-10-28 JAVA实现生成多层JSON格式数据(含源码——三层样例)
你 发表评论:
欢迎- 07-15采用Oracle OSB总线进行服务注册和接入
- 07-15javaEE 新闻管理系统 oracle11+tomcat6
- 07-15从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 07-15如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 07-15【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 07-15【mykit-data】 数据库同步工具(数据库表同步工具)
- 07-15[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- 07-15Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 最近发表
-
- 采用Oracle OSB总线进行服务注册和接入
- javaEE 新闻管理系统 oracle11+tomcat6
- 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 【mykit-data】 数据库同步工具(数据库表同步工具)
- [Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- Oracle数据库云服务系列新增前所未有的企业级功能
- 直播预告丨如何实现Oracle存储过程到java的一键转化
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)