#javascript #node.js #json #api #post
#javascript #node.js #json #API #Публикация
Вопрос:
В настоящее время у меня есть следующий JSON:
{
"Id": ["1", "2"],
"Settings": [{ "Key": "IgnitionOn", "Value": "true" }]
}
Я хочу иметь возможность доступа к идентификатору и преобразовать его в массив строк в node.js . А именно, то, что я хочу сделать, это использовать идентификатор доступа req.body.Id
. Это работает, когда Id — это просто строка. Если я попытаюсь получить доступ req.body.Id
к текущему, я получу его неопределенным. Я также пробовал JSON.parse(req.body.Id)
и JSON.stringify(req.body.Id)
, но в обоих подходах идентификаторы все еще не определены. Учитывая мое тело запроса выше, есть какие-либо предложения о том, как я могу создать экземпляр массива, который точно является массивом идентификаторов в теле?
Любая помощь будет высоко оценена!
Комментарии:
1. можете ли вы попробовать войти
req.body.Id
в систему?
Ответ №1:
Вы можете проанализировать этот JSON, чтобы получить объект:
const result = JSON.pasrse(req.body)
const id = result.id;
Комментарии:
1. Есть ли способ преобразовать этот объект в массив? В настоящее время, когда я делаю то, что предложено выше,
id
все еще не определено.
Ответ №2:
Если ваше тело находится в формате JSON, вам нужно будет проанализировать все тело с JSON.parse(req.body)
помощью, прежде чем обращаться к .Id
полю
let req = {
body: `{
"Id": ["1","2"],
"Settings": [{"Key": "IgnitionOn", "Value": "true"}]
}`
}
let body = JSON.parse(req.body)
let ids = body.Id
console.log(ids)
// [ '1', '2' ]
Комментарии:
1. Когда я пробую этот подход, я получаю сообщение об ошибке: «Невозможно преобразовать объект в примитивное значение». Что бы это значило в данном случае? В дополнение к этому
ids
, как определено выше, для меня все еще не определено…