无效的JSON但json看起来有效

Cra*_*aig 3 javascript jquery parsing json

我抓取一个字符串并使用$ .parseJSON(字符串)但仍然收到以下错误:

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}}
Run Code Online (Sandbox Code Playgroud)

运行slideJson.d后调试期间的Firebug结果:

    >>> 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}}"
Run Code Online (Sandbox Code Playgroud)

以下是对json进行反序列化的一些调用:

function (slideJson) {
var slideObj, jsonStr;
if (slideJson.d) {
    slideObj = $.parseJSON(slideJson.d);
Run Code Online (Sandbox Code Playgroud)

Ajax调用以获取内容类型的Json:

$.ajax({
    url: 'Someurl',
    type: "POST",
    data: "{}",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (data) { somenamespace.loadSlides(data); }
});
Run Code Online (Sandbox Code Playgroud)

321*_*21X 6

您的JSON有效,请查看http://jsonlint.com/

你的内容类型怎么样?如果您使用的是PHP,请设置以下标题:

header('Content-type: application/json');
Run Code Online (Sandbox Code Playgroud)

  • 同意.我复制了你的JSON,用反斜杠引号替换了所有引号,将其输入Chrome JS控制台,并在其上运行了JSON.parse,结果很好. (2认同)