des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Как из json получить объект с ключами не по порядку?

получаю json вида {2: 'cvxcsv', 7: 'dfsdsf'}

пробую $.jsonParse и получаю {1:cvxcsv, 2:dfsdsf}

как сохранить ключи?
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
Ivanq
@Ivanq
Знаю php, js, html, css
$.jsonParse Пфф... джиквери_головного_мозга какой-то.

Если можно чуть поменять JSON на {"2": "cvxcsv", "7": "dfsdsf"}:
var str = "{\"2\": \"cvxcsv\", \"7\": \"dfsdsf\"}";
var obj = JSON.parse(str);
console.log(obj); // {"2": "cvxcsv", "7": "dfsdsf"};
var str2 = JSON.stringify(obj);
console.log(str2); // "{"2": "cvxcsv", "7": "dfsdsf"}"


Если нельзя:
eval regexp зря я это написал
jQuery не умеет без кавычек, поэтому нужно использовать библиотеку, например json_parse.js.

И вообще, люди, перелезайте на Vanilla JS!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dzheka3d
@dzheka3d
JSON лучше передавать без ключей:
т.е.
[
    {id: 2, text: 'cvxcsv'},
    {id: 7, text: 'dfsdsf'}
]

Так в дальнейшем проще обрабатывать массив
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
JSON.parse('{"2": "cvxcsv", "7": "dfsdsf"}');
Object { 2: "cvxcsv", 7: "dfsdsf" }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы