`
haoningabc
  • 浏览: 1477937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jsonpath的helloworld

阅读更多
基本语法:https://www.cnblogs.com/jpfss/p/10973590.html

这里有个表格,说明JSONPath语法元素和对应XPath元素的对比。
XPath JSONPath Description
/ $ 表示根元素
. @ 当前元素
/ . or [] 子元素
.. n/a 父元素
// .. 递归下降,JSONPath是从E4X借鉴的。
* * 通配符,表示所有的元素
@ n/a 属性访问字符
[] []
子元素操作符
| [,]
连接操作符在XPath 结果合并其它结点集合。JSONP允许name或者数组索引。
n/a [start:end:step]
数组分割操作从ES4借鉴。
[] ?()
应用过滤表示式
n/a ()
脚本表达式,使用在脚本引擎下面。
() n/a Xpath分组



模糊匹配可以用正则:
https://bbs.csdn.net/topics/290047788
or运算用逗号分隔:
https://www.jb51.cc/js/159788.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JavaScript JSONPath example | JSON tutorial | w3resource</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://www.w3resource.com/JSON/json.js"></script>
<script type="text/javascript" src="http://www.w3resource.com/JSON/jsonpath.js"></script>
</head>
<body>
<h1>This is an example of JavaScript with JSONPath</h1>
<script type="text/javascript">
               var json = { "MovieDatabase": {
                                            "movie": [ 
                                                       { "name":"nnn",
                                                          "genre": "comedy",
                                                          "director": "teacher",
                                                          "Facebook_like": 252
                                                       },
                                                       {  "name":"helloc",
                                                          "director": "doctor",
                                                          "Facebook_like": 100,
                                                          "movie":{ 
                                                                      "name":"haohao",
                                                                      "genre": "comedy",
                                                                      "director": "killinux",
                                                                      "Facebook_like": 300
                                                                   }
                                                       },
                                                       { "name":"haha",
                                                          "genre": "adventure",
                                                          "director": "Ruben Fleischer",
                                                          "Facebook_like": 114
                                                       }
                                                     ]
                                              }
                          };
               result = "";
               result += jsonPath(json, "$.MovieDatabase.movie[*].director").toJSONString() + "<br />";
               //find all directors
               result += jsonPath(json, "$..director").toJSONString() + "<br />";
               //find all directors
               result += "movie----"+jsonPath(json, "$..movie").toJSONString() + "<br />";
               //find all directors
               result += "*-----"+jsonPath(json, "$.MovieDatabase.*").toJSONString() + "<br />";
               //find all movies
               result += jsonPath(json, "$.MovieDatabase..Facebook_like").toJSONString() + "<br />";
               //find all facebook lies of all the movies
               result += jsonPath(json, "$..movie[(@.length-1)]").toJSONString() + "<br />";
               //the last movie in data
               result += jsonPath(json, "$..movie[-1:]").toJSONString() + "<br />";
               //the last movie in data
               result += jsonPath(json, "$..movie[0,1]").toJSONString() + "<br />";
               //first two movies
               result += jsonPath(json, "$..movie[:3]").toJSONString() + "<br />";
               //first three movies
               result += "genre---"+jsonPath(json, "$..movie[?(@.genre)]").toJSONString() + "<br />";
               //or movies with genre
               result +="Facebook_like----"+ jsonPath(json, "$..movie[?(@.Facebook_like>200)]").toJSONString() + "<br />";
               // condition
               result += "or----"+jsonPath(json, "$..[?(@.name == 'nnn'),?(@.name == 'haohao')]").toJSONString() + "<br />";
               //or
               result += "mohu----"+jsonPath(json, "$..[?(/ha/.test(@.name))]]").toJSONString() + "<br />";
               //fuzzy
               result += "all----"+jsonPath(json, "$..*").toJSONString() + "\n";
               // all members in the JSON document
               document.write(result);
  </script>
  </body>
  </html>

分享到:
评论

相关推荐

    OpenWrt之helloworld程序

    在这个"OpenWrt之helloworld程序"中,我们将探讨如何在OpenWrt环境中编写、编译和运行一个简单的 HelloWorld 程序,这将帮助初学者了解OpenWrt的开发流程。 首先,`helloworld` 文件通常是一个C或C++源代码文件,...

    openwrt可用helloworld程序

    《OpenWrt中的Hello, World程序详解》 OpenWrt是一个基于Linux的嵌入式操作系统,广泛应用于无线路由器和其他物联网设备。它提供了高度定制化的环境,允许开发者深度定制设备的功能。在OpenWrt环境中编写和运行...

    Helloworld_helloworld_

    在编程世界中,"Hello, World!"程序是一个经典的起点,用于教授新手如何在特定的编程语言中编写并运行他们的第一个程序。这个简单的程序通常只包含一行代码,用于在控制台上打印出 "Hello, World!" 这个字符串。在这...

    汇编语言实现输出helloworld

    根据给定的文件信息,我们可以总结出以下关于“汇编语言实现输出HelloWorld”的相关知识点: ### 汇编语言简介 汇编语言是一种低级编程语言,它为每种类型的计算机提供了一对一的机器指令映射。汇编语言程序通常由...

    深入淺出Hello World ( HackingHelloWorld-PartI)

    ### 深入淺出Hello World —— Hacking HelloWorld (Part I) #### 概述 在《深入淺出Hello World》这一系列文章中,作者Jim Huang(黃敬群/"jserv")通过深入剖析经典的“Hello World”程序,旨在帮助读者理解在...

    JNI入门之HelloWorld(一)

    ### JNI入门之HelloWorld(一)详解 #### 一、引言 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码与其他语言写的代码进行交互。JNI接口提供了若干公共服务,并为Java虚拟机和本机应用程序或...

    1.如何创建QT项目-QTcreator输出HelloWorld

    如何创建QT项目之QTcreator输出HelloWorld,小白保姆级别的教程,还有提供参考链接. HelloWorld程序是一个基于Qt框架的简单示例程序,用于展示如何使用Qt进行图形界面编程。这个程序的主要目的是在窗口中显示一个...

    linux环境下用makefile编译简单的helloworld程序

    在这个“linux环境下用makefile编译简单的helloworld程序”的主题中,我们将深入理解如何创建并使用`Makefile`来编译一个基本的C或C++程序,例如“helloworld”。 首先,`helloworld`程序是一个经典的入门示例,...

    Spring4 HelloWorld

    8. **获取Bean**:在程序中,我们可以从`ApplicationContext`获取已定义的Bean,如`HelloWorld helloWorld = context.getBean("helloWorld", HelloWorld.class);`,然后调用其方法进行交互。 9. **运行和测试**:...

    SpringMVC ---- HelloWorld ---- 代码

    SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- Hello...

    Hello World.rar_c++ hello world_world

    在编程世界中,"Hello, World!" 是每个初学者接触的第一个程序,它标志着编程旅程的开始。本主题将深入探讨如何使用C++语言编写这个经典的 "Hello, World!" 程序,以及C++的基本语法和环境配置。 C++ 是一种强类型...

    一个简单的qt版helloworld程序

    本压缩包包含的“一个简单的qt版helloworld程序”是初学者接触Qt编程的一个基础示例,旨在帮助理解Qt的基本语法和项目构建过程。 首先,让我们来理解一下Qt中的"Hello, World!"程序的基本结构。在Qt中,我们通常会...

    hello world.jar

    hello world java编程

    Java JNI HelloWorld.rar

    在这个"Java JNI HelloWorld"示例中,我们将深入探讨如何使用JNI来创建一个简单的“Hello, World!”程序。 首先,`HelloWorld.java`是Java源代码文件,其中定义了一个本地方法`native void sayHello()`。在Java中,...

    HelloWorld_打印HelloWorld_

    在编程世界里,"Hello, World!" 是每个初学者的第一个程序,它标志着编程之旅的开始。这个"HelloWorld_"项目正是这样一个入门实例,用于在Visual Studio这个强大的集成开发环境中展示基本的代码编写和运行流程。 ...

    hello world!

    "Hello World!" 是编程世界的入门程序,它标志着一个程序员的旅程开始。在大多数编程语言中,"Hello World!" 是编写的第一段代码,用于演示最基本的语法结构。这个简单的程序通常会打印出 "Hello World!" 这个字符串...

    struts2 helloworld

    "Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...

    各种语言的Helloworld编程

    【Hello World 编程】是编程世界的入门程序,无论你学习的是哪种编程语言,它都是初学者的第一课。这个简单的程序通常在控制台上打印出 "Hello, World!" 这个短语,以此来验证编译环境和基本语法的正确性。它的起源...

    Mac下实现Java HelloWorld

    "Mac下实现Java HelloWorld"这个话题主要涵盖了如何在Mac系统中配置Java环境并执行第一个Java程序。以下是对这个过程的详细阐述: 首先,确保你的Mac已经安装了Java开发工具(JDK)。可以通过在终端输入`javac -...

    HelloWorld_helloworld_project_

    标题中的"HelloWorld_helloworld_project_"表明这是一个与“Hello World”项目相关的编程实践,通常用于初学者学习编程语言的基础知识。在IT行业中,“Hello World”是编写第一个简单程序的通用术语,它会在控制台上...

Global site tag (gtag.js) - Google Analytics