我正在抓取一个字符串并使用 $.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/