Хотите преобразовать правильный JSON запрос в AXIOS ReactJs для отправки в django
Моя полезная нагрузка имеет строковую форму, как показано ниже:
payload= "[{"message":"message text", "id":1, "code":0}, {"message":"message text", "id":2, "code":1}, {"message":"message text", "id":3, "code":0}]"
Я получаю платную нагрузку из строки запроса.
ex = https:\xyz.com\endpoint?payload=[{"message": "текст сообщения", "id":1, "code":0}, {"message": "текст сообщения", "id":2, "code":1}, {"message": "текст сообщения", "id":3, "code":0}]
JSON.stringify(payload)
здесь не поможет, так как это строка, а JSON.parse(payload)
выдает ошибку.
запрос аксиоса выглядит следующим образом:
try {
const response = await axiosInstance.post('/postenpoint/', payload,
{ headers: authHeader });
return response;
} catch (error) {
console.log(error);
};
есть ли какая-нибудь встроенная функция или эффективный способ в JS, кроме разбора строки в таком случае?
Проблема в том, что бэкенд, который разработан с использованием django, получает ответ в виде {'[{"message":"message text", "id":1, "code":0}, {"message":"message text", "id":2, "code":1}, {"message":"message text", "id":3, "code":0}]': ''}
Это должно идти как правильная форма json, а не как только ключ.
Используйте JSON.parse
:
JSON.parse(payload)