Javascript JSON.parse与外来字符

时间:2015-11-03 18:20:53

标签: javascript json node.js express

所以我有一个带有日文字符的有效JSON字符串,但每当我尝试解析它时,我都会遇到一个它说无效的特定字符。

这是导致它的违规字符串。如果您复制并通过它并尝试解析它,则会出现错误。您也可以使用JSONLint格式化它,以便更容易查看

str = '{  "uuid": "214959c1-8f13-43e1-89a3-8ee1c891a118",  "token": "de45f7ca-00de-4c33-892e-ebcb0424ac2a",  "account": {    "type": "account",    "acoounts_id" : "123456",    "email" : "shinoda@timedia.co.jp",    "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服务器,如果这有助于提供任何解决方法。

1 个答案:

答案 0 :(得分:0)

我确实看到了这个用JSON解析日文章程的答案,可以帮助解决你的问题。

基本上,您需要在将章程解析为对象数组之前将其删除。

Sending japanese characters over JSON

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