解析带有多部分/表单数据的休息响应

时间:2019-06-13 14:27:34

标签: c# json vb.net rest pdf

解析包含multipart / form-data的API响应

我已经尝试了以下方法,但是没有用。寻找建议

API响应:

    ----1560435280902
    Content-Type: application/json

    {"code":"200","transactionTimestamp":1560435280902,"data":{"imagedDocument": 
    [{"proNumber":"951182326","imageType":"BL","imageFormat":"PDF","imageFiles": 
 [{"base64Data":"Jg==","fileName":"951182326_BL.pdf","contentType":"application/pdf"}],"scanDate":1559312081112}]}}
----1560435280902--

我尝试过的代码

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
        Dim client = New RestClient("https://api.ltl.xpo.com/imaging/1.0/shipments/951182326/imaged-docs?imageFormat=PDF&multiPartResp=False&imageType=BL")
        Dim request = New RestRequest(Method.[GET])
        request.AddHeader("cache-control", "no-cache")
        request.AddHeader("Connection", "keep-alive")
        request.AddHeader("accept-encoding", "gzip, deflate")
        request.AddHeader("Host", "api.ltl.xpo.com")
        request.AddHeader("Cache-Control", "no-cache")
        request.AddHeader("Accept", "*/*")
        request.AddHeader("Authorization", "Bearer " + accessToken)
        Dim response As IRestResponse = client.Execute(request)

        Dim token As XPOImage = Newtonsoft.Json.JsonConvert.DeserializeObject(Of XPOImage)(response.Content)



Public Class ImageFile
Public Property base64Data As String
Public Property fileName As String
Public Property contentType As String
End Class

Public Class ImagedDocument
Public Property proNumber As String
Public Property imageType As String
Public Property imageFormat As String
Public Property imageFiles As ImageFile()
Public Property scanDate As Long
End Class

Public Class Data
    Public Property imagedDocument As ImagedDocument()
End Class

Public Class XPOImage
    Public Property code As String
    Public Property transactionTimestamp As Long
    Public Property data As Data
End Class

需要获取base64编码的图像。

1 个答案:

答案 0 :(得分:0)

我能够使用Regex从多部分响应中获取JSON。

print("\xCB\x85\x04\x08")
print("\uCB89\u0408")