使用json.loads()解析后打印出现 而非原日文值,如何解决?
解决JSON解析日文全角空格显示为\u3000的问题
首先要明确:\u3000就是你输入的日文全角空格本身,只是Python在打印字典对象时,会对非ASCII的特殊字符做转义显示,并非解析过程中改变了原始值。
以下是几种解决方法:
直接打印单个字段值
不要打印整个字典,直接打印name字段的内容,Python会输出原始的全角空格:import json x = """{ "phone": "06-1234-5687", "name": "福井整科クリック 医" }""" y = json.loads(x) print(y['name']) # 输出:福井整科クリック 医使用
json.dumps()格式化输出
用json.dumps()并设置ensure_ascii=False参数,输出会保留原始Unicode字符:import json x = """{ "phone": "06-1234-5687", "name": "福井整科クリック 医" }""" y = json.loads(x) print(json.dumps(y, ensure_ascii=False, indent=4)) # 输出: # { # "phone": "06-1234-5687", # "name": "福井整科クリック 医" # }自定义字典打印逻辑
手动遍历字典的键值对,逐个打印:import json x = """{ "phone": "06-1234-5687", "name": "福井整科クリック 医" }""" y = json.loads(x) for key, value in y.items(): print(f"{key}: {value}") # 输出: # phone: 06-1234-5687 # name: 福井整科クリック 医
内容的提问来源于stack exchange,提问作者t1808
相关产品推荐
相关产品推荐

