JSON.stringify возвращает "объект объекта" вместо содержимого объекта

Здесь я создаю объект JavaScript и преобразовываю его в строку JSON, но JSON.stringify возвращает "[object Object]" в этом случае вместо отображения содержимого объекта. Как я могу обойти эту проблему, чтобы строка JSON фактически содержала содержимое объекта?

var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject.toString())); //this alerts "[object Object]"

Ответы

Ответ 1

Используйте alert(JSON.stringify(theObject));

Ответ 2

theObject.toString()

Метод .toString() является виновником. Убери это; и скрипка будет работать: http://jsfiddle.net/XX2sB/1/

Ответ 3

Использование

var theObject = {name:{firstName:"Mark", lastName:"Bob"}};
alert(JSON.stringify(theObject));

Ответ 4

JSON.stringify возвращает "объект объекта" в этом случае

Это потому, что вы вызываете toString() объекта перед его сериализацией:

JSON.stringify(theObject.toString()) /* <-- here */

Удалите вызов toString(), и он должен работать нормально:

alert( JSON.stringify( theObject ) );