Сортировка JSON массива выдает ошибку "Unexpected token o in JSON at position 1"
С сервера получаю массив JSON объектов следующего вида:
0:
idStreet: 1
name: "Советская"
__proto__: Object
1: {idStreet: 2, name: "Пр-т Победы"}
2: {idStreet: 3, name: "Ногина"}
length: 3
__proto__: Array(0)
Пытаюсь данный массив отсортировать следующим образом:
var dataSort = JSON.parse(data).sort(function (a, b) {
return ((a.name === b.name) ? 0 : ((a.name > b.name) ? 1 : -1));
Мне выдает ошибку:
VM75:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
at Object.success (JS_Create_Edit_Friend.js:47)
at c (VM18 jquery.min.js:2)
at Object.fireWith [as resolveWith] (VM18 jquery.min.js:2)
at l (VM18 jquery.min.js:2)
at XMLHttpRequest.<anonymous> (VM18 jquery.min.js:2)
Ошибку выдает уже на функции parse(data).
Ответы (2 шт):
Автор решения: renameduser32
→ Ссылка
Parse не проходит, потому что это уже объект, несмотря на это полезно его stringify и потом распарсить в ваш объект чтоб избежать ошибок. Но главное отсортировать МАССИВ объектов с помощью function (a, b) не получится. Потому что это сортировка чисел или строк, а не объектов.
Автор решения: darkvortek
→ Ссылка
Переношу в ответ.
Насколько я понял, тебе вообще не нужен .parse(data), так-как data - это массив.