Это почти то же самое, что и этот вопрос json получить имена ключей в виде текста? , но это ответ не работает для меня.
У меня есть объект json
{"userList":[ {"user1":[{"username":"mike","memberSince":"01/03/2011"}]}, {"user2":[{"username":"john","memberSince":"01/05/2011"}]}, ]}
Единственная причина, по которой у меня есть ярлыки "user1" и "user2", заключается в том, что я сохраняю список пользователей по userId в данных jQuery, а затем привязываю его к файл cookie и отправить его на другую страницу. Я знаю, звучит глупо, но я просто создаю кое-что, чтобы доказать свою точку зрения, прежде чем делать это должным образом с помощью db.
Таким образом,
jQuery('div#userList').data('user1',user1JSON);
превращается в
{"user1":[{"username":"mike","memberSince":"01/03/2011"}]}
при использовании
var userlist=JSON.stringify(jQuery('div#userList').data());
. Из-за этого информация о пользователе теперь является дочерним элементом userId, а не просто дочерним элементом userlist.
Чтобы получить информация о пользователе, Я мог бы сказать
for(u=0;u, но, к сожалению, это выдает мне неопределенную ошибку. Если я использую
var userInfo = userList[u]['user1'];, я правильно получаю информацию о пользователе.
Итак, может ли кто-нибудь исправить меня, почему userList [u] [0] не работает, ИЛИ
объясните мне, как использовать JSON.stringify, не добавляя идентификатор пользователя в начало строки?