如何使用json路径从json字符串中获取json节点值?

如何使用json路径从json字符串中获取json节点值?,json,jsonpath,ready-api,Json,Jsonpath,Ready Api,下面是我的JSON文件 检索所有成员名称的JSON路径是-$.members[*].name 我使用Ready API和Groovy脚本使用上面提到的路径来读取这个json,但是我遇到了一条错误消息,上面说java.lang.NoClassDefFoundError:当我执行下面的代码时,无法初始化类net.minidev.json.JSONValue import com.jayway.jsonpath.* Object dataObject = JsonPath.parse(jsonmen

下面是我的JSON文件

检索所有成员名称的JSON路径是-$.members[*].name

我使用Ready API和Groovy脚本使用上面提到的路径来读取这个json,但是我遇到了一条错误消息,上面说java.lang.NoClassDefFoundError:当我执行下面的代码时,无法初始化类net.minidev.json.JSONValue

import com.jayway.jsonpath.*

Object dataObject = JsonPath.parse(jsonmentionedabove).read(
'$.members[*].name')
我的Ready API lib&ext文件夹中有以下JAR,我的电脑上有java版本-9.0.1

json-path-2.4.0, json-smart-2.3

您能告诉我是什么导致了这个问题吗?

我不熟悉Ready API或json路径和json智能库,但使用纯groovy,您只需执行以下操作:

import groovy.json.*

def str  = """<the json string in your question>"""
def json = new JsonSlurper().parseText(str)
def memberNames = json.members*.name

println memberNames.join(", ")

JsonSlurper返回一个java.util.Map of maps结构,可以使用常规groovy findAll、collect等操作或*。如上所述

将asm-1.0.2.jar文件放在Ready API lib文件夹中解决了该问题

import groovy.json.*

def str  = """<the json string in your question>"""
def json = new JsonSlurper().parseText(str)
def memberNames = json.members*.name

println memberNames.join(", ")
Molecule Man, Madame Uppercut, Eternal Flame