json path

Posted theqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json path相关的知识,希望对你有一定的参考价值。

import com.google.common.collect.Lists;

import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import com.jayway.jsonpath.Option;

import java.util.List;

/**
 * @author shiqil.liu
 * @date 2019-08-22 10:41
 */
public class DealJsonPath 
    public static void main(String[] args) 
        String json = "\n" +
                "    \"status\":0,\n" +
                "    \"message\":\"ok\",\n" +
                "    \"results\":[\n" +
                "        \n" +
                "            \"name\":\"泰山风景名胜区\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.264227,\n" +
                "                \"lng\":117.086616\n" +
                "            ,\n" +
                "            \"address\":\"泰安市岱岳区东岳大街西段501号\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"岱岳区\",\n" +
                "            \"street_id\":\"ea4a3dc942c4b72f4f5547aa\",\n" +
                "            \"telephone\":\"(0538)96008888\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"ea4a3dc942c4b72f4f5547aa\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山风景名胜区-南天门\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.262014,\n" +
                "                \"lng\":117.110857\n" +
                "            ,\n" +
                "            \"address\":\"泰安市泰山区红门路54号泰山风景名胜区内\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"泰山区\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"a3e8341c5497a7964afd3f55\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山站\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.193518,\n" +
                "                \"lng\":117.116341\n" +
                "            ,\n" +
                "            \"address\":\"泰安市泰山区龙潭路\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"泰山区\",\n" +
                "            \"street_id\":\"4de99463948347e088b988b3\",\n" +
                "            \"telephone\":\"(0538)2181747\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"4de99463948347e088b988b3\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山温泉城\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.079672,\n" +
                "                \"lng\":117.23363\n" +
                "            ,\n" +
                "            \"address\":\"山东省泰安市高新区徂徕镇郑家庄村\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"岱岳区\",\n" +
                "            \"street_id\":\"cff95196212daf6c9f09f73c\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"cff95196212daf6c9f09f73c\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山学院\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.228513,\n" +
                "                \"lng\":117.045757\n" +
                "            ,\n" +
                "            \"address\":\"泰安市岱岳区东岳大街525号\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"岱岳区\",\n" +
                "            \"street_id\":\"2c0bd6c5f06b4cd643ab9ae7\",\n" +
                "            \"telephone\":\"(0538)6715631,(0538)6715599\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"2c0bd6c5f06b4cd643ab9ae7\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山学院(南校区)\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.138018,\n" +
                "                \"lng\":117.083513\n" +
                "            ,\n" +
                "            \"address\":\"泰安市岱岳区凤天路789号\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"岱岳区\",\n" +
                "            \"street_id\":\"1816533484df9705fa2d61a4\",\n" +
                "            \"telephone\":\"(0538)6711231\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"1816533484df9705fa2d61a4\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山锦绣谷\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.311547,\n" +
                "                \"lng\":117.161553\n" +
                "            ,\n" +
                "            \"address\":\"进宫沟附近\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"泰山区\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"4edf9fbfda0665e9cc06a4e8\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山区\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.199445,\n" +
                "                \"lng\":117.141411\n" +
                "            ,\n" +
                "            \"address\":\"山东省泰安市\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"泰山区\",\n" +
                "            \"detail\":0,\n" +
                "            \"uid\":\"d614eca365df78a85a1093fc\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山新兴园\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.204916,\n" +
                "                \"lng\":117.072936\n" +
                "            ,\n" +
                "            \"address\":\"粥店街道长城西路69号\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"岱岳区\",\n" +
                "            \"street_id\":\"a6f8707170120c2903ff2d66\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"a6f8707170120c2903ff2d66\"\n" +
                "        ,\n" +
                "        \n" +
                "            \"name\":\"泰山金华大厦\",\n" +
                "            \"location\":\n" +
                "                \"lat\":36.189219,\n" +
                "                \"lng\":117.105924\n" +
                "            ,\n" +
                "            \"address\":\"泰安市泰山区泰山大街326号\",\n" +
                "            \"province\":\"山东省\",\n" +
                "            \"city\":\"泰安市\",\n" +
                "            \"area\":\"泰山区\",\n" +
                "            \"street_id\":\"8036a74b25b5d6944e6d46b1\",\n" +
                "            \"detail\":1,\n" +
                "            \"uid\":\"8036a74b25b5d6944e6d46b1\"\n" +
                "        \n" +
                "    ]\n" +
                "";

        DocumentContext doc = JsonPath.parse(json, Configuration.builder().options(Option.ALWAYS_RETURN_LIST).build());
        List list = doc.read("$.results[*][?(@.telephone)].location.*");
        List<String> result = Lists.newArrayListWithCapacity(list.size());
        for (Object data : list) 
            if (data instanceof String) 
                result.add((String)data);
             else if (data != null)
                result.add(data.toString());
            
        
        result.forEach(System.out::println);
    

 

以上是关于json path的主要内容,如果未能解决你的问题,请参考以下文章

正解!实用计算两个文件夹内图像的SSIM与PSNR

正解!实用计算两个文件夹内图像的SSIM与PSNR

将ByteBuffer保存成文件

Java 8 读取文件

Node开发环境搭建

自定义View--弹性小球