2013-11-29 2 views
0

У меня есть строка:JSON строку ошибки объекта JavaScript

{ 
    "key1": "val1", 
    "key2": "", 
    "keyObj": { 
    "key3": 300, 
    "key4": 259200 
    } 
} 

Я пытаюсь преобразовать его в JavaScript Object с:

JSON.parse(my_str.toString()); 

Но я получаю сообщение об ошибке: SyntaxError: Неожиданный токен o

Почему?

Спасибо

+0

Как вы определяете «my_str»? – Andrew

+0

Опубликовать весь ваш код. Основываясь на опубликованной информации, [она работает просто отлично] (http://jsfiddle.net/73dS2/). –

ответ

2

my_str, кажется, уже является объектом. Поэтому вам просто не нужно использовать `JSON.parse.

Потому что, вероятно, my_str.toString() равно

[object Object] 
^---------------- Unexpected token o 

Если вы используете jQuery.ajax помните, что jQuery новообращенным автоматически JSON ввода данных, если она соответствует когерентный заголовок

Content-type: application/jso 

и/или если вы установите .ajax вариант

dataType:'json' 

если вы объявляя вручную my_str = тогда просто нужно добавить кавычки строки (и поместить его в одну линию или использовать какой-то наконечник для того, чтобы сделать multiline string)

var my_str = '{"key1":"val1","key2":"","keyObj":{"key3":300,"key4":259200}}'; 

но делать вручную не имеет особого смысла ,

Смежные вопросы