JSONPath小试牛刀之Snack3

编程

最近在网上看了些JSONPath的入门例子。打算用Snack3这个框架写写例子。json path对`JSON的处理绝对是神器。

1.准备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,

"isbn": "0-553-21311-3"

}],

"bicycle": {

"color": "red",

"price": 19.95

}

}

}

2.Meven 依赖

<dependency>

<groupId>org.noear</groupId>

<artifactId>snack3</artifactId>

<version>3.1.5.3</version>

</dependency>

3.示例代码

@Test

public void demo1() {

String 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,"isbn":"0-553-21311-3"}],"bicycle":{"color":"red","price":19.95}}}";

ONode n = ONode.load(json);

Map map = n.select("$.store.book[0]").toObject(Map.class);

System.out.println("category: " + map.get("category"));

System.out.println("author: " + map.get("author"));

System.out.println("title: " + map.get("title"));

System.out.println("price: " + map.get("price"));

System.out.println("========================");

List<String> list = n.select("$.store.book[*].author").toObject(List.class);

for (String author : list) {

System.out.println(author);

}

//java bean 泛型输出,此处不打印了

List<BookModel> list2 = n.select("$.store.book")

.toObject((new ArrayList<BookModel>(){}).getClass());

}

4.控制台打印结果

category: reference

author: Nigel Rees

title: Sayings of the Century

price: 8.95

========================

Nigel Rees

Evelyn Waugh

以上是 JSONPath小试牛刀之Snack3 的全部内容, 来源链接: utcz.com/z/511233.html

回到顶部