powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отправка и получение JSON
5 сообщений из 5, страница 1 из 1
отправка и получение JSON
    #39811252
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, О ГУРУ!)
Подскажите советом, где у меня в коде ошибка?
Пытаюсь отправить JSON-объект.
В ответ получаю сообщение "Ошибка декодирования данных"
Заранее спасибо за помощь!

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub JSON_TEST()
Dim strQuery As String, myUrl As String
        
strQuery = "{""version"":""" & "1.0" & """,""dateExecute"":""" & "2019-02-18" & """,""senderCityId"":""" & "270" & _
""",""receiverCityId"":""" & "44" & _
""",""tariffId"":""" & "137" & _
""",""goods"":[{""weight"":""" & "0.3" & _
""",""length"":""" & "10" & """,""width"":""" & "7" & """,""height"":""" & "5" & _
"""},{""weight"":""" & "0.1" & """,""volume"":""" & "0.1" & """}],""services"": [{""id"": 2,""param"": 2000}," & _
        """ & {""id"": 30}]}"

''strQuery = StrConv(strQuery, vbFromUnicode)
'Debug.Print strQuery

myUrl = "http://api.cdek.ru/calculator/calculate_price_by_json_request.php"
''myUrl = "http://api.cdek.ru/calculator/calculate_price_by_json.php"
  
Dim WinHttpReq As Object
'Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
Set WinHttpReq = CreateObject("MSXML2.XMLHTTP")
WinHttpReq.Open "POST", myUrl, False
'WinHttpReq.Open "GET", myUrl, False
'WinHttpReq.setRequestHeader "Content-Type:", "application/json;charset=utf-8"
WinHttpReq.setRequestHeader "Content-Type:", "application/x-www-form-urlencoded;charset=utf-8"

WinHttpReq.send (strQuery)

'Debug.Print WinHttpReq.responseText

MsgBox "Готово!" & Chr(13) & Chr(13) & _
"Text = " & WinHttpReq.responseText, 64, "Тест"

Set WinHttpReq = Nothing
End Sub
...
Рейтинг: 0 / 0
отправка и получение JSON
    #39811269
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-, навскидку """ & { ""id"": 30}]}"
...
Рейтинг: 0 / 0
отправка и получение JSON
    #39811283
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko-SWAN-, навскидку """ & { ""id"": 30}]}"

да, ошибочка, спасибо!
Исправил, но ответ все равно тот же

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub JSON_TEST()
Dim strQuery As String, myUrl As String
        
strQuery = "{""version"":""" & "1.0" & """,""dateExecute"":""" & "2019-02-18" & """,""senderCityId"":""" & "270" & _
""",""receiverCityId"":""" & "44" & _
""",""tariffId"":""" & "137" & _
""",""goods"":[{""weight"":""" & "0.3" & _
""",""length"":""" & "10" & """,""width"":""" & "7" & """,""height"":""" & "5" & _
"""},{""weight"":""" & "0.1" & """,""volume"":""" & "0.1" & """}],""services"": [{""id"": 2,""param"": 2000},{""id"": 30}]}"

Debug.Print strQuery

myUrl = "http://api.cdek.ru/calculator/calculate_price_by_json_request.php"
''myUrl = "http://api.cdek.ru/calculator/calculate_price_by_json.php"
  
Dim WinHttpReq As Object
'Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
Set WinHttpReq = CreateObject("MSXML2.XMLHTTP")
WinHttpReq.Open "POST", myUrl, False
'WinHttpReq.Open "GET", myUrl, False
'WinHttpReq.setRequestHeader "Content-Type:", "application/json;charset=utf-8"
WinHttpReq.setRequestHeader "Content-Type:", "application/x-www-form-urlencoded;charset=utf-8"
'WinHttpReq.setRequestHeader "Content-Type:", "text/xml; charset=utf-8"

WinHttpReq.send (EncodeUTF8(strQuery))
'WinHttpReq.send (strQuery)

'Debug.Print WinHttpReq.responseText

MsgBox "Готово!" & Chr(13) & Chr(13) & _
"Text = " & WinHttpReq.responseText, 64, "Тест"

Set WinHttpReq = Nothing
End Sub
...
Рейтинг: 0 / 0
отправка и получение JSON
    #39811324
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-Исправил, но ответ все равно тот жеда, теперь JSON валидный
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
{
	"version": "1.0",
	"dateExecute": "2019-02-18",
	"senderCityId": "270",
	"receiverCityId": "44",
	"tariffId": "137",
	"goods": [{
		"weight": "0.3",
		"length": "10",
		"width": "7",
		"height": "5"
	}, {
		"weight": "0.1",
		"volume": "0.1"
	}],
	"services": [{
		"id": 2,
		"param": 2000
	}, {
		"id": 30
	}]
}


Results Valid JSON

Смотри спецификацию JSON-а который принимает сервис
...
Рейтинг: 0 / 0
отправка и получение JSON
    #39811373
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko И court,

Спасибо Вам Большое за помощь!
Всё получилось!
Надо было просто ещё добавить аккаунт и пароль (хотя в описании они необязательны) в строку)))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отправка и получение JSON
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]