我抓住一個字符串,並使用$ .parseJSON(串),但不斷收到以下錯誤:無效的JSON,但JSON看起來是有效
uncaught exception: Invalid JSON: {"0":{"chartHtml":"<p> Slide 1</p> ","presNote":"","chartOrderIndex":0},"1":{"chartHtml":"<p> Slide 2</p> ","presNote":"","chartOrderIndex":1},"2":{"chartOrderIndex":2},"3":{"chartHtml":"<p> e 3</p> ","presNote":"","chartOrderIndex":3},"4":{"chartHtml":"<p> Slide 4</p> ","presNote":"","chartOrderIndex":4},"5":{"chartHtml":"<p> Slide 5</p> ","presNote":"","chartOrderIndex":5},"6":{"chartOrderIndex":6}}
調試期間Firebug的結果運行slideJson.d後:
>>> slideJson.d
"{"0":{"chartHtml":"<p> Slide 1</p> ","presNote":"","chartOrderIndex":0},"1":{"chartHtml":"<p> Slide 2</p> ","presNote":"","chartOrderIndex":1},"2":{"chartOrderIndex":2},"3":{"chartHtml":"<p> e 3</p> ","presNote":"","chartOrderIndex":3},"4":{"chartHtml":"<p> Slide 4</p> ","presNote":"","chartOrderIndex":4},"5":{"chartHtml":"<p> Slide 5</p> ","presNote":"","chartOrderIndex":5},"6":{"chartOrderIndex":6}}"
下面是一些通話的反序列化JSON的:
function (slideJson) {
var slideObj, jsonStr;
if (slideJson.d) {
slideObj = $.parseJSON(slideJson.d);
Ajax調用與合作得到的Json ntent類型:
$.ajax({
url: 'Someurl',
type: "POST",
data: "{}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) { somenamespace.loadSlides(data); }
});
我記得閱讀parseJSON要求鍵值與雙引號。但我無法再在文檔中找到它......嗯...... –
@John Strickler:如果值是字符串值,那麼值僅在JSON中引用。 –
這個問題有點誤導。返回的json實際上是有效的json,如下面ShankarSangoli所述。沒有理由使用$ .parseJSON。 –