У меня есть маршрут, используемый для вызовов AJAX. Он получает элементы из БД и возвращает массив JSON.
Я использую:
return reply({
myArray
}).code(200);
Все работает, но мой вывод в браузере:
{
"myArray":[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
}
Но мне нужно:
{
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
}
В основном, мне нужно избавиться от родительского элемента "myArray" и оставить там только массив. Это похоже на простую задачу, но я нигде не могу найти документацию или образцы.
Спасибо, Марко
Это:
{
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
}
является недопустимым обозначением JSON. В фигурных скобках вы должны иметь пары ключ-значение, где ключи являются строками и значениями являются действительными значениями JSON (строки, числа, булевы, null
, массивы или объекты).
Возможно, то, что вы ожидаете, это просто массив:
[
{
"_id":"1",
"name":"Asd1"
},
{
"_id":"2",
"name":"Asd2"
}
]
который действителен JSON. В этом случае вы можете просто отправить его в свою функцию reply
:
return reply(myArray).code(200);
Для получения дополнительной информации о нотации JSON см. Статью о MDN и играйте с JSON.stringify
чтобы развить лучшую интуицию, когда JSON, который вы видите, действителен или нет.