0
jQuery無法解析似乎是包含法國c-cedilla字符的有效json響應。jquery無法解碼json與c-cedilla
jQuery的JSON請求是這樣的:
$.ajax({
url: "retrieve",
dataType: 'json',
success: function (x) { },
error: function (jqXHR, textStatus, errorThrown) { });
Sever的發送這樣的響應:
{
"trist":"{\"Lines\":[{\"C\":\"Director: Beça\"}]}"
}
jQuery的失敗,抱怨因爲在貝科的c變音符號的無效字符。如果我只是檢查瀏覽器中的原始json響應,那麼返回正常。到目前爲止,我的所有調查都表明這應該起作用,所以我不知道如何進一步採取行動。
經過進一步審查...「trist」字段的值本身就是json對象;換句話說,「trist」的值旨在提取爲一個字符串,然後再解析爲一個Lines對象。也許這個內部JSON不正確的UTF-8編碼?也許那個內在的json需要以某種方式「逃脫」。
你是否嘗試過使用不同的輸出而沒有任何奇怪的字符? – Onheiron 2012-07-18 07:10:46
我不確定那些逃脫的引號。如果你使用像UTF-8這樣的字符集,這將是一個有效的JSON字符串響應:''{「trist」:{「Lines」:[{「C」:「Director:Beça」}]}'' – devnull69 2012-07-18 07:18:36
啊,所以我必須'逃避我逃脫的'來解釋星球大戰。我正在努力解決現在如何做到這一點。好像我可能不得不手動編寫json而不是使用jsonWriter。 – LineloDude 2012-07-18 10:11:58