簡體   English   中英

您如何將這個json程序轉換為xml以通過VBA提交

[英]How do you convert this json programming to an xml to submit via vba

我有一個運輸網站的代碼。 我可以像其他任何運營商一樣提交給網關,但是他們沒有格式化的xml示例。 他們給出了這個示例,我想知道如何將其轉換為格式正確的xml。

curl -X POST \
https://api.rocketship.it/v1 \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_RS_API_KEY' \
-d '{
"carrier": "UPS",
"action": "track",
"params": {
    "username": "YOUR_USERNAME",
    "password": "YOUR_PASSWORD",
    "tracking_number": "1Z12345E0205271688"
}
}'

我只需要像提交聯邦快遞或ups這樣的標簽。 這就是我提交給transpak的內容。 它具有xml和xmlhttp代碼來提交它。

XMLRequest1 = "<?xml version='1.0' encoding='utf-8'?>" & _
"<soap:Envelope xmlns:xsi=" & Chr(34) & "http://www.w3.org/2001/XMLSchema- 
instance" & Chr(34) & " xmlns:xsd=" & Chr(34) & 
"http://www.w3.org/2001/XMLSchema" & Chr(34) & " xmlns:soap=" & Chr(34) & 
"http://schemas.xmlsoap.org/soap/envelope/" & Chr(34) & ">" & _
"<soap:Body>" & "<ShipmentInquiry xmlns=" & Chr(34) & "http://tempuri.org/" 
& Chr(34) & ">" & "<Housebill>" & trackingNumber & "</Housebill>" & _
"</ShipmentInquiry>" & "</soap:Body>" & "</soap:Envelope>"

我需要將XML提交到上面給出的示例中。 我需要類似的格式。

XML_Method = "POST"

XML_Track_URL = "http://freight.transpak.com/WTKServices/Shipments.asmx"

On Error GoTo 0
TrackTRANSPACK = "Test" ' default if not supported or not tracked by request
Set XMLHTTP = CreateObject("Microsoft.xmlhttp")
XMLHTTP.Open XML_Method, XML_Track_URL, False
'xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
XMLHTTP.send XML_Request1 ' okay to send blank string, if not needed (non-UPS tracking)
TrackTRANSPACK = CStr(XMLHTTP.responseText)

任何幫助,將不勝感激。

我需要提交一個json字符串以獲得json響應。

XML_Request1 = "{" & Chr(34) & "carrier" & Chr(34) & ": " & Chr(34) & 
"fedex" & Chr(34) & "," & Chr(34) & "type" & Chr(34) & ": " & Chr(34) & 
"TRACKING_NUMBER_OR_DOORTAG" & Chr(34) & "," & _
Chr(34) & "action" & Chr(34) & ": " & Chr(34) & "track" & Chr(34) & "," & 
Chr(34) & "parameters" & Chr(34) & ": {" & Chr(34) & "key" & Chr(34) & ": " 
& Chr(34) & "key" & Chr(34) & "," & _
Chr(34) & "password" & Chr(34) & ": " & Chr(34) & "password" & Chr(34) & "," 
& Chr(34) & "meterNumber" & Chr(34) & ": " & Chr(34) & "meter number" & 
Chr(34) & "," & _
Chr(34) & "accountNumber" & Chr(34) & ": " & Chr(34) & "account" & Chr(34) & 
"," & Chr(34) & "service" & Chr(34) & ": " & Chr(34) & 
"GROUND_HOME_DELIVERY" & Chr(34) & "," & _
Chr(34) & "tracking_number" & Chr(34) & ": " & Chr(34) & trackingNumber & 
Chr(34) & "}}"

我去了一個json在線格式化程序來整理正確的字符串:

{
"carrier": "fedex",
"type": "TRACKING_NUMBER_OR_DOORTAG",
"action": "track",
"parameters": {
  "key": "YOURKEY",
  "password": "YOURPASS",
  "meterNumber": "YOURMETER",
  "accountNumber": "510087348",
  "service": "GROUND_HOME_DELIVERY",
  "tracking_number": "."
 }
}

我提交了有效載荷並得到了有效的答復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM