jsonpath - Jsonpath如何使用内部json节点选择这个json
问题描述
Jsonpath 对我来说是新的,我倾向于这个。我只能选择name
as $.name。我不知道如何选择这个employeename
json type
?有人能告诉我怎么做吗?
{
"name": "{\r\n \"employeename\": \"Test name\"\r\n}\r\n",
" availability": {
"available": true,
"type": "private"
},
"is_available": true
}
解决方案
此代码将是:
@Test
void SO_69565621() throws JsonProcessingException {
String text = "{\n" +
" \"name\": \"{\\r\\n \\\"employeename\\\": \\\"Test name\\\"\\r\\n}\\r\\n\",\n" +
" \" availability\": {\n" +
" \"available\": true,\n" +
" \"type\": \"private\"\n" +
" },\n" +
" \"is_available\": true\n" +
"}";
String name = JsonPath.read(text, "$.name");
JsonNode jsonNode = new ObjectMapper().readTree(name);
MatcherAssert.assertThat(jsonNode.get("employeename").asText(), Matchers.is("Test name"));
}
我正在使用 Jackson 将 String 转换为 JsonNode,然后获取此 JsonNode 的值。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
推荐阅读
- spring - 如何在 Spring WebFlux 中以编程方式配置请求上下文属性
- android - 如何在一个脚本下运行多个测试用例,同时共享不同的设置和拆卸方法?
- vba - 在不定义路径的情况下将Excel批量转换为Txt
- sql - SQL Sever 查询执行
- python - Odoo 11 Qweb 自定义报告:渲染编译 AST TypeError 时出错:“NoneType”对象不可调用
- android - 全屏活动无响应(不同的android版本?)
- oracle - 在 Oracle 数据库中运行内务调度程序作业时,如何处理 Oracle Goldengate 中的复制滞后?
- jupyter-notebook - Google colab 显示忙碌
- android - notifyDataSetChanged() 方法不起作用
- html - 排列 2 Div 的平行线