第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

什么是正確的 JsonPath get() 格式,用于選擇 JSON 對(duì)象數(shù)組中的字段值

什么是正確的 JsonPath get() 格式,用于選擇 JSON 對(duì)象數(shù)組中的字段值

達(dá)令說(shuō) 2022-07-06 17:03:24
我正在放心地進(jìn)行 API 發(fā)布調(diào)用并在正文中獲得響應(yīng)。然后,我需要獲取此響應(yīng)并選擇特定的字段值并將它們存儲(chǔ)為字符串,以便稍后與其他字符串對(duì)象進(jìn)行比較。我編寫(xiě)了 jsonpath 來(lái)獲取頂級(jí)字段值(如 id、狀態(tài)、類(lèi)型、國(guó)家等),但是當(dāng)我必須進(jìn)入返回的 json 數(shù)組中的一個(gè)對(duì)象時(shí),我無(wú)法正確獲取格式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"    }  ]}這是我試圖格式化以適應(yīng) get() 方法的 json 路徑,但每次我都得到一個(gè)非法參數(shù)異常(java.lang.IllegalArgumentException:無(wú)效的 JSON 表達(dá)式)我試圖讓它工作?;旧衔倚枰跀?shù)組中識(shí)別正確的對(duì)象并獲取正確的字段值。在這種情況下,這是 fieldId 字段,我想要字段“值”值(John Doe),以便我可以將其保存到 String 對(duì)象:JsonPath pathToAccountName = response.jsonPath();String accountName = pathToAccountName.get("fields[?(@.fieldId=='individualName')].value")我使用https://jsonpath.curiousconcept.com/來(lái)獲取 VALID json 路徑:$.fields[?(@.fieldId=='individualName')].value但是我嘗試了一切將其轉(zhuǎn)換為 get() 方法可以接受的東西,但沒(méi)有運(yùn)氣。搜索這里的所有帖子和放心的技術(shù)文檔也沒(méi)有幫助。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

Rest Assured 使用 Groovy 的 Gpath。因此,您的查詢(xún)可能如下所示:


JsonPath pathToAccountName = response.jsonPath();

String value = jsonPath.getString("fields.find { it.fieldId == 'individualName' }.value");

在這里您可以找到一些示例(它是關(guān)于處理 XML,但也適用于 JSON): http: //groovy-lang.org/processing-xml.html


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

我需要知道如何獲得這個(gè)輸出 -

JSON 文檔 -{ "status": "E000", "customerId": "VjAxI2VhNzg5ZmJlLWIyNjAtNGZlOS1iZDNkLTdjMmU1MjA2ZmVhZA", "merchantId": "1", "cards": [ { "cardType": "DEBIT", "cardIssuer": "AXIS", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "ICICI Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "HDFC Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "ICICI Bank", "cardBrand": "VISA", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "DEBIT", "cardIssuer": "Punjab National Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "ICICI Bank", "cardBrand": "MASTERCARD", "nickName": null, "expired": null, "cardMigrationStatus": "DONE", "tur": null, "category": null } ], "status_mssg": null }

我想要這個(gè)輸出 - [ { "cardType": "DEBIT", "cardIssuer": "AXIS", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "ICICI Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "CREDIT", "cardIssuer": "HDFC Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null }, { "cardType": "DEBIT", "cardIssuer": "Punjab National Bank", "cardBrand": "MASTERCARD", "nickName": "", "expired": "false", "cardMigrationStatus": "OPEN", "tur": null, "category": null } ]

我正在使用這個(gè) - jsonPathValidator.getString("$.cards[?(@.cardMigrationStatus == 'OPEN' && @.cardBrand == 'MASTERCARD')]");

但沒(méi)有得到輸出。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
  • 2 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)