我使用jQuery的dataType'jsonp'從API抓取JSON字符串。操作失敗,因爲返回的obj包含其中含有':'冒號的字符串。jQuery:由於包含冒號的字符串,jsonp失敗
查找小提琴這裏:http://jsfiddle.net/ezmilhouse/vZjV4/1/
var url = 'http://api.spreadshirt.com/api/v1/shops/329852/articles?fullData=true&locale=us_US&offset=0&attributeSet=staticShop&mediaType=jsonp';
$.ajax({
cache: false,
callback: "callback",
dataType: 'jsonp',
pageCache: false,
url: url,
callbackParameter: "callback",
success: function(data, status, jqXHR) {
console.log(data);
}});
返回的OBJ看起來是這樣的,這是有效的JSON(與jsonlint.com測試):
{"articles": [
{
"name": "Honoring Generations of Mothers - Youth TShirt",
"description": "t-shirt for women, Brand: ALO"
}
]}
但jQuery的拋出一個
unterminated string literal
錯誤,因爲它不像冒牌'冒牌'
"description": "t-shirt for women, Brand: ALO" // colon causes error
冒號是否需要轉義才能使用jQuery的jsonp? 任何解決方法?
THX
理論上它們不應該被轉義,因爲json將描述值視爲一個字符串,但是如果它有幫助,請嘗試並轉義它或使用更好的json encode/decode-r – Val
http:// json。 parser.online.fr/給我沒有錯誤... –