Сортировка 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 - это массив.

→ Ссылка