json格式字符串用Uncaught SyntaxError: Unexpected token ' Uncaught SyntaxError: Unexpected number


Unexpected number(index)的錯誤用的json字符串如

var jsonStr = "{1:'北京note備注信息',2:'上海note備注信息',3:'廣東note備注信息',4:'深圳note備注信息4',5:'天津note備注信息5',6:'湖北note備注信息6',7:'重慶note備注信息7',8:'歐盟note備注信息8',9:'加利福尼亞州note備注信息8',10:'加拿大魁北克note信息',11:'美國東北部RGGI協會組織',12:'澳大利亞備注信息',13:'新西蘭備注信息',14:'東京備注信息11111',15:'韓國首爾信息',16:'瑞士信息備注'}";

用開源中國等json格式化此字符串都能解析正常,可jquery解析時候偏偏報錯不認你的這套,只好苦苦找錯誤。

Uncaught SyntaxError: Unexpected token ' 錯誤字符串如:

var jsonStr = "{'北京':1,'上海':2,'廣東':3,'深圳':4,'天津':5,'湖北':6,'重慶':7,'歐盟':8,'加利福尼亞州':9,'加拿大魁北克':10,'美國RGGI':11,'澳大利亞':12,'新西蘭':13,'東京':14,'韓國':15,'瑞士':16}"

用json格式化工具同樣無誤,只好找jquery文檔看jquery.parseJSON()用法 。給的示例如下:

解析一個JSON字符串

jQuery 代碼:
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" ); 我想難道就是里面 單引號和雙引號的問題嗎,現在無其他解決方法,只好按着實例換,結果還真解析成功。估計jquery源碼沒做對字符串里面的符號做處理,來判斷里面包含什么樣的單引號。

致的問題的解決辦法找到,就容易入手。

對於json字符串是從后台拼湊的,因為把areaId當成key部分,結果 直接 jsonStr.append('"'+etsMapInfo.getAeId()+'"'); 它老人家把1轉成69 我不懂了。 無奈我下狠招而已,在外頭先給轉成字符串的。唉

感覺都是先解決問題優先。

字符串里面的代碼有換行,jquery 解析就報一個跟什么一樣錯誤。 需要用替換函數替換換行符號。如下所示:

  var jsonStrRep = '${jsonStr}'.replace(/\r\n/g,"");
    jsonStrRep = jsonStrRep.replace(/\n/g,"");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM