Я создаю веб-запрос типа POST, но преобразованный JSON имеет неправильный формат.Ниже моя функция:
Public Function CreateWebRequestPOST(ByVal strURL As String, objInput As Object) As JArray
Try
'Serialize the posted data & convert to bytes
Dim inputJson = (New JavaScriptSerializer()).Serialize(objInput)
Dim bytes As Byte() = Encoding.UTF8.GetBytes(inputJson)
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(strURL), HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/json"
request.Accept = "application/json"
request.ContentLength = bytes.Length
request.Expect = "application/json"
request.GetRequestStream().Write(bytes, 0, bytes.Length)
Dim username = "username"
Dim password = "passoword"
request.Credentials = New NetworkCredential(username, password)
Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
Dim reader As StreamReader
Dim rawresp As String
reader = New StreamReader(response.GetResponseStream())
rawresp = reader.ReadToEnd()
Dim array As JArray = JArray.Parse(rawresp)
reader.Close()
response.Close()
Return array
End Using
Catch ex As Exception
Dim empty As New JArray
Return empty
End Try
End Function
Объект, который я отправляю в параметре, выглядит следующим образом:
Dim objReq As New RequestBodyList
Dim orderlist As New OrderList
orderlist.currency = "test"
orderlist.id = "test"
orderlist.amount = 100
objReq.apiOperation = "some_action"
objReq.order = orderlist
Dim response = main.CreateWebRequestPOST("some_URL", objReq)
Public Class RequestBodyList
Public Property apiOperation() As String
Public Property order() As New OrderList
End Class
Public Class OrderList
Public Property currency() As String
Public Property id() As String
Public Property amount() As Integer
End Class
Ниже приведен пример вывода переменной inputJSON
:
"{""apiOperation"":""Some_action"",""order"":{""currency"":""USD"",""id"":""test1234"",""amount"":100}}"
Похоже, преобразованный JSON не является правильным форматом.Что здесь было сделано неправильно?Что привело к появлению двойных кавычек?
Вот как должно быть отправлено тело запроса:
Тело запроса (объект JSON)
{
"apiOperation": "some_action",
"order": {
"currency": "USD",
"id": "some_order_id" ,
"amount": 50
}
}