美文网首页
JSONPath小试牛刀之Snack3

JSONPath小试牛刀之Snack3

作者: 草编椅 | 来源:发表于2019-11-27 14:56 被阅读0次

最近在网上看了些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

相关文章

  • Snack3 之 Jsonpath使用

    Snack3 之 Jsonpath使用 一、 Snack3 和 JSONPath 介绍 Snack3 是一个支持J...

  • JSONPath小试牛刀之Snack3

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

  • JSONPath入门之Snack3篇

    Snack3 for java 一个微型JSON框架 基于jdk8,60kb。有序列化反序列化、解析和转换、支持 ...

  • 更强的 JsonPath 兼容性及性能测试

    更强的 JsonPath 兼容性及性能测试 最近给自己的json框架snack3添加了json path支持。搞好...

  • 精灵小巧的 Jsonpath 万精油:Snack3

    前几天和一个群里的朋友交流一个需求:在 Json 里像 XPath 一样找出节点,并修改值,然后输出新的Json。...

  • Kubectl之JSONPath

    背景 最近接到一个需求,需要通过kubectl命令展示出一些特定的字段,比如只显示pod name和host ip...

  • fastjson之JSONPath

    json-path不能为空,json字符串也不能为空 1、json字符串中没有所要的字段,返回null 2、jso...

  • 11.jsonpath模块

    jsonpath模块 知识点 -了解 jsonpath模块的使用场景 -掌握 jsonpath模块的使用 1. j...

  • 1,JsonPath简介

    1,Jayway JsonPath Jayway JsonPath是一个读取json文档的java DSL 实现 ...

  • python之jsonpath模块

    安装方法:pip install jsonpath官方文档:http://goessner.net/article...

网友评论

      本文标题:JSONPath小试牛刀之Snack3

      本文链接:https://www.haomeiwen.com/subject/mhppwctx.html