Я отправляю свой JSON используя urllib.request
на питоне 3.
data = {"a": "1"}
req = urllib.request.Request('https://example.com', data=json.dumps(data).encode('utf8'), headers={'Content-Type': 'application/json'})
urllib.request.urlopen(req)
Проблема в data=json.dumps(data).encode('utf8')
который преобразует {"a": "1"}
к той же строке с b
префикс b'{"a": "1"}'
,
Я знаю, что в Python я могу использовать decode('utf8)
удалить b
префикс, но я должен быть в состоянии сделать это на стороне сервера, потому что Python 3 заставляет вас отправлять данные потока байтов.
Я использую php в качестве кода на стороне сервера.
Я пытался с помощью utf8_decode()
но это ничего не делает.
Как я могу удалить b
префикс на стороне сервера код?
Сторона сервера — это правда, PHP? Вы можете попробовать использовать utf8_decode()
функция. Попробуйте и посмотрите, решит ли эта функция вашу проблему.
$data = utf8_decode($data_from_python);
Проверь это: http://php.net/manual/en/function.utf8-decode.php
Других решений пока нет …