javascript - 无效的 JSON 但 json 看起来是有效的

标签 javascript jquery json parsing

我正在抓取一个字符串并使用 $.parseJSON(string) 但不断收到以下错误:

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}}

运行 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}}"

这里是反序列化 json 的一些调用:

function (slideJson) {
var slideObj, jsonStr;
if (slideJson.d) {
    slideObj = $.parseJSON(slideJson.d);

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

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

最佳答案

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

您的内容类型如何?如果您使用的是 PHP,请设置以下 header :

header('Content-type: application/json');

关于javascript - 无效的 JSON 但 json 看起来是有效的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153230/

相关文章:

javascript - 循环 jQuery 并在每次更改时分配?

javascript - 如何为函数建立全局变量 - Polymer

javascript - 防止 onScroll 函数再次执行直到完成

java - 使用 REST API 从 Web 服务接收特定数据

Python - 将字节数组转换为 JSON 格式

java - 如何解析地点详细信息 API JSON

javascript - Node.js (Express API) : req. body.myobject 未定义且无法工作

javascript - 将数据从页面发送到 Chrome 扩展程序

javascript - jQuery 重叠 div 不会使 div 的隐藏 onclick 无效

javascript - 没有 document.ready 功能不起作用