Ответ 1
Используйте alert(JSON.stringify(theObject));
Здесь я создаю объект JavaScript и преобразовываю его в строку JSON, но JSON.stringify
возвращает "[object Object]"
в этом случае вместо отображения содержимого объекта. Как я могу обойти эту проблему, чтобы строка JSON фактически содержала содержимое объекта?
var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject.toString())); //this alerts "[object Object]"
Используйте alert(JSON.stringify(theObject));
theObject.toString()
Метод .toString()
является виновником. Убери это; и скрипка будет работать: http://jsfiddle.net/XX2sB/1/
Использование
var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject));
JSON.stringify возвращает "объект объекта" в этом случае
Это потому, что вы вызываете toString()
объекта перед его сериализацией:
JSON.stringify(theObject.toString()) /* <-- here */
Удалите вызов toString()
, и он должен работать нормально:
alert( JSON.stringify( theObject ) );