Python json加载全局语言支持

时间:2017-01-12 08:25:57

标签: python json

您好我尝试在我的脚本上使用国际语言。

但是它返回了编码数据类型。

这是我的代码。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

string ='{\"NAME\":\"ทะเลทอง แลปกุ้ง\",\"DESC\":\"Shop Descriptionอาหารกุ้ง วิตามิน แร่ธาตุ\",\"ADDRESS_LINE_1\":\"29/4หมู่13 บางแก้วซอย1 ต.บางขวัญอ.เมือง\"}'
print json.loads(string)

它返回了以下编码格式

{u'ADDRESS_LINE_1': u'29/4\u0e2b\u0e21\u0e39\u0e4813 \u0e1a\u0e32\u0e07\u0e41\u0e01\u0e49\u0e27\u0e0b\u0e2d\u0e221 \u0e15.\u0e1a\u0e32\u0e07\u0e02\u0e27\u0e31\u0e0d\u0e2d.\u0e40\u0e21\u0e37\u0e2d\u0e07', u'NAME': u'\u0e17\u0e30\u0e40\u0e25\u0e17\u0e2d\u0e07 \u0e41\u0e25\u0e1b\u0e01\u0e38\u0e49\u0e07', u'DESC': u'Shop Description\u0e2d\u0e32\u0e2b\u0e32\u0e23\u0e01\u0e38\u0e49\u0e07 \u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19 \u0e41\u0e23\u0e48\u0e18\u0e32\u0e15\u0e38'}

此脚本应支持所有类型的语言,如泰语,泰米尔语,中文等。

预期OutPut

 data = json.loads(string)
 print data['NAME']

这应该打印'ทะเลทองแลปกุ้ง'

2 个答案:

答案 0 :(得分:1)

如果您在支持unicode的终端上使用它,您的脚本可以完美地工作(如预期的那样)。

我在Windows 7机顶盒上使用IDLE for Python 2.7.12 for win32,这段代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

string ='{\"NAME\":\"ทะเลทอง แลปกุ้ง\",\"DESC\":\"Shop Descriptionอาหารกุ้ง วิตามิน แร่ธาตุ\",\"ADDRESS_LINE_1\":\"29/4หมู่13 บางแก้วซอย1 ต.บางขวัญอ.เมือง\"}'
data = json.loads(string)
print data
print data['NAME']

正确显示:

{u'ADDRESS_LINE_1': u'29/4\u0e2b\u0e21\u0e39\u0e4813 \u0e1a\u0e32\u0e07\u0e41\u0e01\u0e49\u0e27\u0e0b\u0e2d\u0e221 \u0e15.\u0e1a\u0e32\u0e07\u0e02\u0e27\u0e31\u0e0d\u0e2d.\u0e40\u0e21\u0e37\u0e2d\u0e07', u'NAME': u'\u0e17\u0e30\u0e40\u0e25\u0e17\u0e2d\u0e07 \u0e41\u0e25\u0e1b\u0e01\u0e38\u0e49\u0e07', u'DESC': u'Shop Description\u0e2d\u0e32\u0e2b\u0e32\u0e23\u0e01\u0e38\u0e49\u0e07 \u0e27\u0e34\u0e15\u0e32\u0e21\u0e34\u0e19 \u0e41\u0e23\u0e48\u0e18\u0e32\u0e15\u0e38'}
ทะเลทอง แลปกุ้ง

不同地说,它不是Python问题,而只是终端配置。

答案 1 :(得分:0)

import json

string ='{\"NAME\":\"ทะเลทอง แลปกุ้ง\",\"DESC\":\"Shop Descriptionอาหารกุ้ง วิตามิน แร่ธาตุ\",\"ADDRESS_LINE_1\":\"29/4หมู่13 บางแก้วซอย1 ต.บางขวัญอ.เมือง\"}'
print (json.loads(string))

出:

{'DESC': 'Shop Descriptionอาหารกุ้ง วิตามิน แร่ธาตุ', 'ADDRESS_LINE_1': '29/4หมู่13 บางแก้วซอย1 ต.บางขวัญอ.เมือง', 'NAME': 'ทะเลทอง แลปกุ้ง'}

只需使用python3