Jquery Json.parse返回null
我不确定为什么下面返回null这是我的json字符串。 这是由JSON字符串格式引起的吗Jquery Json.parse返回null,jquery,json,Jquery,Json,我不确定为什么下面返回null这是我的json字符串。 这是由JSON字符串格式引起的吗 var data = '{"pvd": { "plannerViewDetailSummary":{"intTargetedCard":6549,"intDeliveredOffer":1,"intRedeemedOffer":1,"dtBegin":"\/Date(1380556800000)\/","dtEnd":"\/Date(1383148800000
var data = '{"pvd":
{
"plannerViewDetailSummary":{"intTargetedCard":6549,"intDeliveredOffer":1,"intRedeemedOffer":1,"dtBegin":"\/Date(1380556800000)\/","dtEnd":"\/Date(1383148800000)\/"},
"plannerViewDetailChannel":[{"nvarDesc":"Email"}],
"plannerViewDetailTargetCust":[{"varGroupName":"ALL"}]
}
}'
var obj = jQuery.parseJSON(data);
if (obj == null) {
alert('null');
}
从json中删除换行符或通过
\
转义,然后进行类似操作
var data = '{"pvd":{"plannerViewDetailSummary":{"intTargetedCard":6549,"intDeliveredOffer":1,"intRedeemedOffer":1,"dtBegin":"\/Date(1380556800000)\/","dtEnd":"\/Date(1383148800000)\/"},"plannerViewDetailChannel":[{"nvarDesc":"Email"}], "plannerViewDetailTargetCust":[{"varGroupName":"ALL"}]}}';
var obj = jQuery.parseJSON(data);
if (obj==null){
alert('null');
}
console.log(obj);
字符串中的换行符不是有效的JSON。移除它们,它将正常工作(或使用
\
将它们转义)。给你
问题在于数据
至少在javascript中不能以这种方式格式化字符串
var data = '{"pvd":{"plannerViewDetailSummary":{"intTargetedCard":6549,"intDeliveredOffer":1,"intRedeemedOffer":2,"dtBegin":"\/Date(1380556800000)\/","dtEnd":"\/Date(1383148800000)\/"},"plannerViewDetailChannel":[{"nvarDesc":"Email"}],"plannerViewDetailTargetCust":[{"varGroupName":"ALL"}]}}'
var obj = jQuery.parseJSON(data);
if (obj == null) {
alert('null');
} else {
alert('ok');
}
这是一个有效的Json吗?当您正确格式化字符串(即删除返回值)时,代码可以很好地工作: