Разместите список Python на сервере Node.js, ожидающем полезную нагрузку, состоящую из массива, содержащего JSON

Я пытаюсь отправить запрос POST (в Python) на сервер, который ожидает массив, содержащий JSON. Кажется, я не могу правильно отформатировать данные. Как я могу отформатировать следующую полезную нагрузку, чтобы она работала как массив JavaScript для сервера Node.js?

POST / API / Adduser/

Ожидаемый Node.js

[ 
    {'user':'jon','email':'[email protected]'}, 
    {'user':'jon2','email':'[email protected]'} 
]

Мой текущий код:

import requests
import json

payload = \
[
   {
       'user': 'hello',
       'email': '[email protected]'
   },
   {
       'user': 'helloAgain',
       'email': '[email protected]'
   }
]

res = requests.post('http://localhost/api/users', data=json.dumps(payload))

#res -> 400 error -> reason:  "wrong json format - must be an array"

2 ответа

Ваша ожидаемая полезная нагрузка неверна (это не JSON). Сэкономьте массу головных болей и используйте json модуль:

import json
res = requests.post('http://localhost/api/users', data=json.dumps(payload))

Вот решение:

POST / API / Adduser/

Ожидаемый Node.js

[ 
    {'user':'jon','email':'[email protected]'}, 
    {'user':'jon2','email':'[email protected]'} 
]

Мой текущий код:

import requests
import json

payload = \
[
   {
       'user': 'hello',
       'email': '[email protected]'
   },
   {
       'user': 'helloAgain',
       'email': '[email protected]'
   }
]

jsonPayload = json.dumps(payload)

headers = {'Content-Type': 'application/json'}

res = requests.post('http://localhost/api/users', data=jsonPayload, headers=headers)
Другие вопросы по тегам