2015-11-03 54 views
1

因此,我有一個有日文字符的有效JSON字符串,但每當我嘗試解析它時,我都會被一個特定的字符(它表示無效)捕獲。使用外來字符的Javascript JSON.parse問題

這是引起它的違規字符串。如果您複製並過去並嘗試解析它,則會發生錯誤。您還可以使用JSONLint將其格式化,以便更容易看到

str = '{ "uuid": "214959c1-8f13-43e1-89a3-8ee1c891a118", "token": "de45f7ca-00de-4c33-892e-ebcb0424ac2a", "account": { "type": "account", "acoounts_id" : "123456", "email" : "[email protected]", "account_status_id" : "11", "is_active" : true, "region" : "JP", "profiles": [  {  "type": "profile",  "profile_id": "4567",  "account_id": "123",  "first_name": "有裏",  "last_name": "篠田",  "gender": "female",  "is_kids": false,  "language": "en",  "has_pincode": true,  "favorite_genres_selected": true,  "images": {   "profile_icon": {   "src": "http://icon.mypics.com/profile_4567.jpg"   }  }  },  {  "type": "profile",  "profile_id": "1234",  "account_id": "345",  "first_name": "高顕",  "last_name": "中野",  "gender": "male",  "is_kids": true,  "language": "ja",  "has_pincode": false,  "favorite_genres_selected": true,  "images": {   "profile_icon": {   "src": "http://icon.mypics.com/profile_4567.jpg"   }  }  } ] }}'; 
var parsed = JSON.parse(str); 

而得到錯誤

Uncaught SyntaxError: Unexpected token (…) 

沒有人有任何可能的解釋?任何解決方法?主要問題是,我試圖將其作爲響應返回,並且無法將其轉換爲對象,響應類型都不可靠。

我正在使用運行Express的Node.js服務器,如果這有助於提供任何解決方法。

+0

請您發表您確切的代碼? – dm03514

+0

嗨, 您可以請發佈您正在嘗試的代碼和您收到的錯誤消息嗎?代碼不存在時很難調試。 謝謝。 – Nitin

+0

正如其他評論者所指出的,你真的需要發佈更多的代碼細節..如果你構造一個簡單的代碼示例編碼你的json作爲字符串,然後解析它,*的東西工作正常*。您需要創建一個說明問題的代碼示例,最好使用從服務器接收的字符串文字。 –

回答

0

我確實看到了解析JSON中日文章程的答案,可以幫助你解決問題。

基本上你需要在他們被分析到對象數組之前轉義憲章。

Sending japanese characters over JSON

JSONObject info = new JSONObject(); 
info.put("japString", "よやかなゆひま".toString()); 
+0

這是用於Java而不是Javascript,就像我的問題所在 –