Prototypejs .evalJSON не возвращает объект - PullRequest
0 голосов
/ 05 апреля 2010

У меня есть этот JSON (который проверяется в соответствии с JSONLint ):

[
{
    "BugCount":"2",
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp",
    "ErrLine":"141",
    "BugID":"702"
},
{
    "BugCount":"1",
    "BugTitle":"/admin/ajax_logagreementsig.asp",
    "ErrLine":"0",
    "BugID":"1322"
},
]

Однако, когда я запускаю data = json.evalJSON, у меня возникают некоторые проблемы. Если я запускаю .evalJSON (true) (для очистки), в прототипе происходит ошибка, в которой говорится, что «json» не определено. То же самое произойдет, если я сделаю .evalJSON ().

Если я выполняю .evalJSON без скобок, тогда данные - это просто пустой объект, и ошибки не происходит.

Что-то не так с моим JSON?

Ответы [ 2 ]

1 голос
/ 05 апреля 2010

Это просто объект javascript, вам не нужно ничего оценивать, чтобы заставить его работать.

var data = [
 {
    "BugCount":"2",
    "BugTitle":"C:\\INETPUB\\WWWROOT\\CLUBREADY2\\TRAINERS\\../Connections/LTC.asp",
    "ErrLine":"141",
    "BugID":"702"
 },
 {
    "BugCount":"1",
    "BugTitle":"/admin/ajax_logagreementsig.asp",
    "ErrLine":"0",
    "BugID":"1322"
 }
];

Выше все будет хорошо, и ваш data var будет преобразован в массивдва предмета.Обратите внимание, что я удалил запятую в этом списке, так как это привело бы к третьему элементу с нулевым значением в IE, но не в большинстве других браузеров.

0 голосов
/ 05 апреля 2010

Я обнаружил свою проблему, и это была глупость. Я случайно оставил HTML-код по умолчанию на своей странице .aspx, который возвращает JSON, поэтому внутри строки была целая "" встроенная веб-страница, которую я пытался оценить как JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...