我正在尝试从 Excel 中的 VBA 应用程序发送 JSON 对象。下面的代码正确发送请求,但是我不知道如何使用正文中的 JSON 对象发出请求。
Sub Post()
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "http://localhost:3000/test"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/x-www-form- urlencoded"
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("test=6")
End Sub
Run Code Online (Sandbox Code Playgroud)
例如,如果我尝试发送“{test:6, test2: 7}”并在服务器上记录请求的正文,我会得到 { '{parts:6, test: 7}': '' }
您可能已经知道,JSON 结构确实会产生令人头疼的问题。在你的情况,我会说,它的所有有关的报价,你可以看到在这里,如果你尝试验证自己{test:6, test2: 7}。
试试下面的代码。这对我来说似乎是合理的:
Sub Post()
Dim URL As String, JSONString As String, objHTTP as Object
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "http://localhost:3000/test"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/x-www-form- urlencoded"
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
JSONString = "{""test"": 6,""test2"":7}"
objHTTP.Send JSONString
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13447 次 |
| 最近记录: |