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.9</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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值