前端接收到的json数据,怎么把json数据中的字符转换成中文?

例如:

在调用百度的翻译api的时候返回的数据时这样的

http://openapi.baidu.com/public/2.0/bmt/translate?client_id=RMOdOQEPmEnjF7AL7HS26n5X&q=today?&from=auto&to=auto

{"from":"zh","to":"en","trans_result":[{"src":"Today","dst":"\u4eca\u5929\uff1f"}]}


其实我想的到那个翻译的汉字,我已为需要转码什么的其实不用,下面有几种解决办法


1.浏览器自动转换

document.getElementById("s").innerHTML = "\u8303\u5fb7\u8428\u8303\u5fb7\u8428"

document.write("\u8303\u5fb7\u8428\u8303\u5fb7\u8428")

2.

你后台是什么字符编码?如果是utf8,那么页面也设置utf8,后台是gb2312,页面也设置为gb2312,只要输出在页面上就会自动转换为中文哈。

如果你是从服务器拉取到了这个json格式的数据,不知道怎么转换为对象。只需要如下操作。
str = '[{"id":"1","shop":"\u8303\u5fb7\u8428\u8303\u5fb7\u8428"}, {"id":"2","shop":"2d04 \u4f18\u4f18\u667a\u80fd"}, {"id":"3","shop":"2A47 \u4fe1\u8fbe"}, {"id":"4","shop":"\u65b9\u5706\u901a\u8baf1b13"}, {"id":"5","shop":"3a11-3a12"}, {"id":"6","shop":"1d11\u5e73\u5b89\u79d1\u6280"}]';
// 得到的json字符串
strobj = eval(str);
这样就可以讲数据解析为object了哈,然后就可以通过strobj操作其中的元素了。

3.

\u+4位16进制数,就是个转义,4位16进制就是字符代码,编码是UTF8。
浏览器端JSON反序列会自动处理的。现代浏览器都支持JSON.parse,IE6不支持,可用eval方法,或找个json2.js以提供JSON支持。
注意一下编码问题,JSON均是UTF8编码,建议页面也是UTF8。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值