Python3 json 带有日文字符
Python3 json with japanese characters
我正在使用 aws lambda return 一个带有一些日语字符的简单 json。
我似乎无法让字符正确显示。
这是我的代码的样子:
def lambda_handler(event, context):
minutes = datetime.datetime.now().minute
status = ""
if minutes < 10:
status = u"良好"
else:
status = u"不良"
response = {}
response['ID'] = 1
response['Status'] = status
data = json.dumps(response, indent=2, ensure_ascii=False)
data = json.loads(data)
return data
以上代码returns:
{"ID": 1, "Status": "\u4e0d\u826f"}
我也试过这个:
data = json.dumps(response, indent=2, ensure_ascii=False).encode('utf-8)
但是没有用。
如何获得对 return 日文字符的响应?
编辑:
我还注意到一件事。在浏览器中,我得到了上面的 json 输出,但是当 运行 在 AWS 控制台中进行测试时,我得到了正确显示的字符。这是什么意思?
是不是你终端的问题?
我的 Mac 终端上正确显示了日语字符。
import json
minutes = 9
status = ""
if minutes < 10:
status = u"良好"
else:
status = u"不良"
response = {}
response['ID'] = 1
response['Status'] = status
data = json.dumps(response, indent=2, ensure_ascii=False)
data = json.loads(data)
print(data)
{'ID': 1, 'Status': '良好'}
如果您 运行 使用 ensure_ascii 的烧瓶没有解决问题,您必须通过这种方式在应用程序级别更改禁用它:
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
我正在使用 aws lambda return 一个带有一些日语字符的简单 json。 我似乎无法让字符正确显示。 这是我的代码的样子:
def lambda_handler(event, context):
minutes = datetime.datetime.now().minute
status = ""
if minutes < 10:
status = u"良好"
else:
status = u"不良"
response = {}
response['ID'] = 1
response['Status'] = status
data = json.dumps(response, indent=2, ensure_ascii=False)
data = json.loads(data)
return data
以上代码returns:
{"ID": 1, "Status": "\u4e0d\u826f"}
我也试过这个:
data = json.dumps(response, indent=2, ensure_ascii=False).encode('utf-8)
但是没有用。
如何获得对 return 日文字符的响应?
编辑: 我还注意到一件事。在浏览器中,我得到了上面的 json 输出,但是当 运行 在 AWS 控制台中进行测试时,我得到了正确显示的字符。这是什么意思?
是不是你终端的问题?
我的 Mac 终端上正确显示了日语字符。
import json
minutes = 9
status = ""
if minutes < 10:
status = u"良好"
else:
status = u"不良"
response = {}
response['ID'] = 1
response['Status'] = status
data = json.dumps(response, indent=2, ensure_ascii=False)
data = json.loads(data)
print(data)
{'ID': 1, 'Status': '良好'}
如果您 运行 使用 ensure_ascii 的烧瓶没有解决问题,您必须通过这种方式在应用程序级别更改禁用它:
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False