Десериализация JSON для iOS - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь десериализовать строку JSON для приложения для iOS, которое я пишу. Тем не менее, мое приложение постоянно зацикливается на escape-последовательности "\" для двойных кавычек в ленте, которую я пытаюсь прочитать. Как быстро удалить эту последовательность, чтобы я мог правильно проанализировать подачу? (Лента поступает из моего приложения Django на стороне сервера.)

Вот моя строка JSON:

[{\"pk\": 4161, \"model\": \"news.article\", \"fields\": {\"date_live\": \"2011-11-03 00:00:01\", \"date_added\": \"2011-11-03 03:10:59\", \"date_modified\": \"2011-11-03 03:10:59\", \"slug\": \"thursday-feature-backup-comic\", \"title\": \"THURSDAY FEATURE --> Backup Comic\"}}

Вы заметите, что все мои "узлы" имеют escape-последовательность "\" для кавычки. Есть идеи?

Заранее благодарю за любую помощь здесь.

Л. * * +1010

1 Ответ

1 голос
/ 05 ноября 2011

Если вы пытаетесь удалить escape внутри python:

import re, json
myjson = re.sub(r"\\", "", "[{\"pk\": 4161, \"model\": \"news.article\", \"fields\": {\"date_live\": \"2011-11-03 00:00:01\", \"date_added\": \"2011-11-03 03:10:59\", \"date_modified\": \"2011-11-03 03:10:59\", \"slug\": \"thursday-feature-backup-comic\", \"title\": \"THURSDAY FEATURE --> Backup Comic\"}}]")
myjson = json.loads(myjson) # will decode json

Но если вы хотите удалить escape из javascript:

myjson = "[{\"pk\": 4161, \"model\": \"news.article\", \"fields\": {\"date_live\": \"2011-11-03 00:00:01\", \"date_added\": \"2011-11-03 03:10:59\", \"date_modified\": \"2011-11-03 03:10:59\", \"slug\": \"thursday-feature-backup-comic\", \"title\": \"THURSDAY FEATURE --> Backup Comic\"}}]";
myjson = eval(myjson.replace(/\\/, "")); // will encode json

Примечание: Вы забыли] в конце строки. По крайней мере, у меня была ошибка, когда я пытался ее оценить. Я поставил] в конце, и Eval сработал.

...