2013-12-04 1 views
-4

Я пытаюсь проанализировать следующую строку JSON, которая возвращается мне, но я получаю непредвиденную ошибку идентификатора в консоли.Parse JSON возвращает непредвиденную ошибку идентификатора

"{"title":"MyApp Companion","push_hash":"ff06b5b775e45409f9ab470b64d672d0","t":"mr","alert":"Ryjjgv","n":"Foo Bar","action":"open the app at specific location","pid":"7V8meRCJaj","badge":"Increment"}" 

Я использую zepto, но метод $ .parseJSON() выдает ошибку.

+0

Консоль обычно сообщает вам * где * произошла ошибка. – str

+0

Предполагая, что внешние цитаты не находятся в фактическом тексте, который вы разбираете, все в порядке. Если они, конечно, это твоя проблема. –

+0

В чем заключен контекст? Как вы получаете JSON? –

ответ

2

удалить ваш первый и последний " или заменить '

"{ 
    "title": "MyApp Companion", 
    "push_hash": "ff06b5b775e45409f9ab470b64d672d0", 
    "t": "mr", 
    "alert": "Ryjjgv", 
    "n": "Foo Bar", 
    "action": "open the app at specific location", 
    "pid": "7V8meRCJaj", 
    "badge": "Increment" 
}" 

в

'{ 
     "title": "MyApp Companion", 
     "push_hash": "ff06b5b775e45409f9ab470b64d672d0", 
     "t": "mr", 
     "alert": "Ryjjgv", 
     "n": "Foo Bar", 
     "action": "open the app at specific location", 
     "pid": "7V8meRCJaj", 
     "badge": "Increment" 
    }' 

и есть на онлайн TOOL jsonlint.com, чтобы подтвердить ваш JSON

-1

Попробуйте это:

$.parseJSON('{"title":"MyApp Companion","push_hash":"ff06b5b775e45409f9ab470b64d672d0","t":"mr","alert":"Ryjjgv","n":"Foo Bar","action":"open the app at specific location","pid":"7V8meRCJaj","badge":"Increment"}') 
+4

Пожалуйста, объясните проблему и ее решение. Не просто напишите «попробуйте это». –

1

Поскольку вы используете " для разграничения строкового литерала, консоль анализирует " внутри строки как разделитель строк. Попробуйте использовать ', чтобы разграничить буквальный:

'{"title":"MyApp Companion", ... }' 

В качестве альтернативы, вы можете избежать всех " внутри строки с \:

"{\"title\":\"MyApp Companion\", ... }" 
3

Вы, возможно, придется экранировать кавычки в строку, как ваша строка выглядит как это:

"your string("your string")" 

это должно быть что-то вроде:

"your string(\"your string\")" 

или 'ваша строка ("ваша строка")'

или: Удалить ваши первые и последние котировки

Надеется, что это помогает.