2013-08-21 4 views
-2

Следующий код возвращается как Invalid Character, всякая помощь была бы принята с благодарностью.parseJSON выпуск

Вот что JSON выглядит после того, как он был разобран ... :)

{ "AccountNumber": "069211424", "FirstName": "anthony", "Surname":   "Smith", "Postcode": "pe112hs" } 

Спасибо за ребят ответа, я был в спешке, как было только 4 минуты, чтобы покинуть здание, я должен опубликовать фактический код для работы на вашем компьютере, и вы увидите, что я получаю.

Я не использую функцию parseJSON, jquery жалуется на это, я использую простой вызов ajax httphandler в элементе управления, который я создал.

Я могу запустить код на тестовой странице на тестовом сайте, и он работает отлично, счастливые дни. когда код подключен к основному приложению, я получаю эту ошибку bizzare. Я заверил JSON и его штраф, да действительно JSON разбор я понимаю свою ошибку в моем оригинальном вопросе ....

peice из JSON он жалуется похож на это ...

data: { 
     AccountNumber: this.AccountNumber, 
     Forename: this.Forename, 
     Surname: this.Surname, 
     Postcode: this.Postcode 
    } 

Это был длинный день :(

я выкладываю полный Завтра Ajax вызова Привет всем ...

Ps, прежде чем кто спросит, да, как вы можете видеть только передается допустимые символы в хэш-таблицу ...

+0

Его действие на JSON lint, но недействительно, когда я ударил точку разрыва в Visual studio 2012 и проверил мой JS –

+1

Вы не разбираете строку JSON. Вы передаете литерал объекта в 'parseJSON ', который преобразуется в строку' [object Object] '. T он анализирует JSON, чтобы читать это как массив (поскольку он начинается с '['), но срабатывает на 'o' в' object'. – apsillers

+1

Да. Он уже разобран. –

ответ

3

Вы не разбираете строку JSON. Вы определяете литерал объекта и передаете его в parseJSON. Вам не нужно разбирать этот объект - это уже объект. Просто используйте объект.

Вот почему вы получаете сообщение об ошибке: когда парсер JSON получает аргумент, он преобразует его в строку. Объект здесь преобразуется в строку [object Object]. Анализатор JSON связывается с этой строкой в ​​виде массива (начиная с [), но отключает o в object, когда он ожидает число, кавычку или вложенный объект/массив JSON.

0

попытайтесь разобрать строковый объект ... не объект.

$.parseJSON(JSON.stringify({"AccountNumber":"0692424","FirstName":"anthony","Surname":"Smith-Brewster","Postcode":"pe112hp"})) 
+0

О, да ладно. В самом деле? – Bojangles

+0

таким образом он может видеть, что это не ошибка parseJSON –

+0

Абсолютно умный ... и не очень полезный. # – BenjaminPaul

1

Для того, чтобы получить ответ от этой функции, вам необходимо передать строку JSON. Это означает, что вам нужна цитата вокруг строки.

$.parseJSON('{ "AccountNumber": "0692424", "FirstName": "anthony", "Surname": "Smith-Brewster", "Postcode": "pe112hp" }') 
0

Спасибо за ребята ответа, я вижу свою ошибку здесь, я буду размещать atcul код для вас Завтра на работе, и вы увидите, что я имею в.

Я не использую функцию parseJSON, jquery жалуется на это, я использую простой вызов ajax httphandler в элементе управления, который я создал.

Я могу запустить код на тестовой странице на тестовом сайте, и он работает отлично, счастливые дни. когда код подключен к основному приложению, я получаю эту ошибку bizzare. Я подтвердил JSON и его штраф, да, действительно, JSON проанализирован. Я осознаю свою ошибку в вопросе.

Peice of JSON, который жалуется, похож на этот ...

data: { 
     AccountNumber: this.AccountNumber, 
     Forename: this.Forename, 
     Surname: this.Surname, 
     Postcode: this.Postcode 
    } 

Это был длинный день :(

я выкладываю полный АЯКС вызова Завтра, Привет всем ...

Ps, прежде чем кто спрашивает, да только передается допустимые символы in to hashtable ...

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