标签: jsonpath

如何在bigquery中找到重复结构中的最后一项

我有一个嵌套的重复结构,重复的结构是可变长度.例如,它可能是一个具有重复结构的人物对象,其中包含该人所居住的城市.我想找到该列表中的最后一项说找到当前城市人的生活.是否有一种简单的方法可以做这个,我试着查看jsonpath函数,但我不确定如何使用"within".有什么帮助吗?

json nested-repeater jsonpath google-bigquery

2
推荐指数
1
解决办法
1325
查看次数

SoapUI JSONPath断言基于返回项的计数

在对我的请求的响应中,我得到了一个JSON项目列表

{
"Id": 111,
"Name": "aaa"
},
{
"Id": 222,
"Name": "bbb"
}
Run Code Online (Sandbox Code Playgroud)

我需要声明,在我的回复中,至少有5个项目.使用JSONPath Count时,我只能使用$ ..*来检查确切的值.不幸的是,我不知道返回的确切项目数,只要响应中有超过5项,一切都可以.我可以使用任何JSONPath断言吗?

soapui assertions jsonpath

2
推荐指数
1
解决办法
2833
查看次数

无法以API读取wso2 ESB中的JSON请求主体参数

我已经在WSO2 ESB(4.8.1)中创建了一个API,我想使用请求正文将PUT请求发送到该API。我已经尝试过该示例, 并且想以已定义API的顺序记录属性值。

这是我的请求正文:

请求正文(JSON)

这是我尝试记录位置名称的方式:

XML日志

但我收到这样的错误:

(错误-SynapseJsonPath #stringValueOf。评估JSON路径时出错。返回空结果。错误>>>无效路径)

错误截图

那么我该如何读取这些值?

json wso2 jsonpath wso2esb

2
推荐指数
1
解决办法
1945
查看次数

我可以在 JsonPath 语言中使用 Camel 简单表达式吗?

嗨,我想使用我的骆驼交换中的标头值作为我的 JsonPath 表达式中的过滤条件。

有这样的想法:

.setBody().jsonpath("$.person[?(@.role=='${headers.role}')]")
Run Code Online (Sandbox Code Playgroud)

简单的表达式不会以这种方式解析。

如何使用 Apache Camel 完成此操作?

apache-camel jsonpath

2
推荐指数
1
解决办法
2916
查看次数

如何读取Apache NiFi中的属性值

我正在研究一个样本NiFi流程,我将Json文件作为输入.我使用EvaluateJsonPath处理器来获取所需路径的值.我已将EvaluateJsonPath的目标设置为"flow-file属性",并使用所需的JsonPath添加了新属性.例如:属性名称:用户名,值:$ .input.username.现在,我将在下一个处理器中需要这个值.所以我想知道我应该使用哪个处理器来读取流文件的属性.

json jsonpath apache-nifi

2
推荐指数
1
解决办法
5305
查看次数

如何在python中使用jsonpath?(jsonpath_ng.ext)

我有一个 json 数据对象,想返回一个特定的值,比如在 XML 中使用 xpath。但是在带有 jsonpath 的 json 上。

文档还可以,但我错过了一个很好的例子。

python json jsonpath

2
推荐指数
1
解决办法
7241
查看次数

什么是 Rest Assured 正确的 JsonPath get() 格式,用于选择 JSON 对象数组中的字段值

我正在使用放心进行 API 发布调用并在正文中获得响应。然后我需要接受这个响应并选择特定的字段值并将它们存储为字符串,以便稍后与其他字符串对象进行比较。我编写了 jsonpath 来获取顶级字段值(如 id、status、type、country 等),但是当我必须进入返回的 json 数组中的对象之一时,我无法正确获取格式get() 方法。

以下是返回的 Json 示例:

{
  "id": "ABC123",
  "status": "NEW",
  "type": "PERSONAL",
  "country": "United States",
  "totalBalances": {},
  "availableBalances": {},
  "fields": [
    {
      "fieldType": "mobilephone",
      "value": "14216904425",
      "fieldId": "personalMobileNumber"
    },
    {
      "fieldType": "email",
      "value": "user12345@work.com",
      "fieldId": "personalEmail"
    },
    {
      "fieldType": "STRING",
      "value": "John Doe",
      "fieldId": "individualName"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是我试图格式化以适应 get() 方法的 json 路径,但每次我都会收到一个非法参数异常 (java.lang.IllegalArgumentException: Invalid JSON expression) 我试图让它工作。基本上我需要在数组中识别正确的对象并获取正确的字段值。在这种情况下,这是 fieldId 字段,我想要字段“值”值(John Doe),以便我可以将其保存到 String 对象:

JsonPath pathToAccountName = response.jsonPath();
String accountName = pathToAccountName.get("fields[?(@.fieldId=='individualName')].value")
Run Code Online (Sandbox Code Playgroud)

我使用 …

java json jsonpath rest-assured rest-assured-jsonpath

2
推荐指数
1
解决办法
4079
查看次数

如何使用 Jackson 递归修改 JsonNode 的值

要求:
我想对JsonNode. 功能可以不同,例如:-lowercasing某些值或将某些内容附加到这些值或用某些内容替换这些值。如何使用Jackson库实现这一目标?请注意,JSON 数据的结构可能不同,这意味着我想构建一个通用系统,该系统将接受一些路径表达式,这将基本上决定在哪里更改。我想使用函数式编程风格,以便我可以将这些函数作为参数传递。

例如:

输入:

{
  "name": "xyz",
  "values": [
    {
      "id": "xyz1",
      "sal": "1234",
      "addresses": [
        {
          "id": "add1",
          "name": "ABCD",
          "dist": "123"
        },
        {
          "id": "add2",
          "name": "abcd3",
          "dist": "345"
        }
      ]
    },
    {
      "id": "xyz2",
      "sal": "3456",
      "addresses": [
        {
          "id": "add1",
          "name": "abcd",
          "dist": "123"
        },
        {
          "id": "add2",
          "name": "XXXXX",
          "dist": "345"
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我基本上必须使用两个函数,lowercase()并且convert_to_number(). 我想申请lowercase()上的所有函数"name"内的所有属性"addresses" …

java json jsonpath jackson jackson-databind

2
推荐指数
1
解决办法
4335
查看次数

Mocha Chai 检查 Json 响应是否包含特定属性

我正在创建 API 测试,它检查响应是否包含结构中的特定键“textId”:

  it('TC-4 /rest/passwords/ should change "password"', function() {
    return chai.request(serverurl)
      .post('/rest/passwords/')
      .set('Content-Type', 'application/json')
      .set('Accept', 'text/html')
      .set('X-Api-Key', global.apikey)
      .set('Cookie', global.cookie)
      .send({password: "password"})
      .then(function(res) {
        res.should.have.status(200);
        res.should.be.json;
        console.log('TC-4 /rest/passwords/: %j\n', res.body);
        res.body.should.have.all.keys(['textId']);
      });
  });
Run Code Online (Sandbox Code Playgroud)

回应如下:

[{"textId":"PasswordNeedsAtLeastOneDigit","parameters":{}},{"textId":"PasswordNeedsAtLeastOneUpperCaseCharacter","parameters":{}}]
Run Code Online (Sandbox Code Playgroud)

我试过:

res.body.should.have.property('textId');
res.body.should.have.nested.property('textId');
res.body.should.have.all.keys(['textId']);
res.body.should.have.all.nested.keys(['textId']);
Run Code Online (Sandbox Code Playgroud)

他们都没有工作

mocha.js jsonpath chai chai-http

2
推荐指数
1
解决办法
2158
查看次数

SQL Server root + FOR JSON 路径在同一对象中

我正在尝试以 JSON 检索一些数据,但是,我正在努力以正确的方式对其进行格式化,以下是一个示例:

CREATE TABLE #test (id int identity(1,1), name varchar(100), EntityType VARCHAR(10))

insert into #test values('Dell','PC')
insert into #test values('Microsoft','CO')
insert into #test values('MAC','PC')
insert into #test values('APPLE','CO')

SELECT * FROM #test WHERE EntityType = 'PC' FOR JSON PATH, ROOT('??')  

drop table #test
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用 root 但没有成功

我正在寻找这个结果,它是一个对象,然后是一个按列分组的数组

{
    "CO": [
      {
          "id": 1,
          "name": "Dell",
      },
      {
          "id": 2,
          "name": "Microsoft",
      },
    ]
    "PC" :[
      {
        "id": 3,
        "name": "MAC",
    },
    {
        "id": 4,
        "name": "APPLE",
    }]
}
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server json jsonpath

2
推荐指数
1
解决办法
174
查看次数