2013-10-17 80 views
1

我不知道爲什麼下面返回null這是我的JSON字符串。 它是由JSON字符串格式引起的?Json.parse返回null

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'); 
} 
+2

是一個有效的JSON ..? –

+1

當你格式化正確的字符串(即刪除返回)代碼在一個小提琴工作正常:http://jsfiddle.net/RoryMcCrossan/A7aBY/ –

回答

2

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); 

Fiddle

0

這,這不是有效的JSON字符串中的換行符。刪除它們,它會正常工作(或通過\逃脫它們)。

0

在這裏你去..

http://jsfiddle.net/AfnX3/

的問題是在你的data你不能有串以這樣一種方式格式化至少在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'); 
}