我嘗試使用以下代碼讀取從 RestResponse 回傳的 json 陣列,我使用 RestClient 呼叫 POST 方法
Dim clientPI As RestClient = New RestClient("https://sampleurl")
Dim requestPI = New RestRequest(Method.POST)
requestPI.AddParameter("name", "Aravind")
requestPI.AddParameter("username", "aravind")
requestPI.AddParameter("password", "aravind123")
requestPI.AddParameter("id", "100")
Dim responsePI As RestResponse = clientPI.Execute(requestPI)
Dim StrReturnPI As JValue = responsePI.Content.ToString
Dim serPI As JObject = JObject.Parse(StrReturnPI)
Dim dataPI As List(Of JToken) = serPI.Children().ToList
For Each item As JProperty In dataPI
item.CreateReader()
Select Case item.Name
Case "result"
output = "Document_id:" vbCrLf
For Each comment As JObject In item.Values
Dim u As String = comment("Document_id")
output = u vbTab
Next
Case "Inv_Date"
output = "Inv_Date:" vbCrLf
For Each msgDate As JObject In item.Values
Dim f As String = msgDate ("value")
output = f vbTab
Next
Case "Inv_Number"
output = "Inv_Number:" vbCrLf
For Each msg As JObject In item.Values
Dim f As String = msg("value")
output = f vbTab
Next
End Select
Next
示例 Json
{{
"result": [
{
"Document_id": "598dce483b97c",
"file_name": "2022-04-04_09_13_14.847228.pdf",
"Inv_Date": {
"value": "15-Jul-2019",
},
"Inv_Number": {
"value": "1920021347",
}
}
]],
"status": "complete"
}}
從上面的代碼中,我只能從 Document_id 和 file_name 中讀取值,但不能從 Inv_Date 和 Inv_Number 中讀取值。
任何幫助將不勝感激。
感謝和問候阿拉文德
uj5u.com熱心網友回復:
首先,抱歉,因為我實際上無法檢查正確的 vb.net ide,所以可能會出現一些錯字,但我認為這可能會解決您的問題:
獲取結果案例中的值,因為結構是這樣定義的
Case "result"
output = "Document_id:" vbCrLf
For Each comment As JObject In item.Values
Dim u As String = comment("Document_id")
output = u vbTab
Dim invDate As JObject = comment("Inv_Date")
Dim invNumber As JObject = comment("Inv_Number")
Dim invDateValue As String = invDate("value")
output = invDateValue vbTab
Dim invNumberValue As String = invNumber("value")
output = invNumberValue vbTab
Next
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/455654.html
上一篇:帶有{}vb.net的NewForm()中的語法錯誤
下一篇:不同路徑檔案夾vb.net
