在python中读取json文件时出现表情符号问题

在python中读取json文件时出现表情符号问题,python,emoji,Python,Emoji,我有一个json文件,其中的字符串包含emojis { "messages": "This is a test You can use the unidecode library. First make a quick pip install installation within the terminal: pip install unidecode { “消息”:“这是一个测试您可以使用unidecode库。首先在终端内进行快速pip安装: import

我有一个json文件,其中的字符串包含emojis

{
   "messages": "This is a test You can use the unidecode library. First make a quick pip install installation within the terminal:

pip install unidecode
{

“消息”:“这是一个测试您可以使用unidecode库。首先在终端内进行快速pip安装:

import unicodedata
from unidecode import unidecode


def deEmojify(inputString):
    returnString = ""

    for character in inputString:
        try:
            character.encode("ascii")
            returnString += character
        except UnicodeEncodeError:
            replaced = unidecode(str(character))
            if replaced != '':
                returnString += replaced
            else:
                try:
                     returnString += "[" + unicodedata.name(character) + "]"
                except ValueError:
                     returnString += "[x]"

    return returnString



string = 'What you want is to make sure you save / read the file with the right encoding.

with open('config.json', 'r', encoding='utf-8') as config_file: 
    config = json.load(config_file)
print(config["messages"])
然后可以使用以下代码:

导入Unicode数据
从unidecode导入unidecode
defmojify(输入字符串):
returnString=“”
对于inputString中的字符:
尝试:
字符编码(“ascii”)
returnString+=字符
除UNICODEENCODEER错误外:
替换=单解码(str(字符))
如果更换!='':
returnString+=已替换
其他:
尝试:
returnString+=“[”+unicodedata.name(字符)+“]”
除值错误外:
returnString+=“[x]”
返回字符串

string='您可以使用unidecode库。首先在终端内进行快速pip安装:

import unicodedata
from unidecode import unidecode


def deEmojify(inputString):
    returnString = ""

    for character in inputString:
        try:
            character.encode("ascii")
            returnString += character
        except UnicodeEncodeError:
            replaced = unidecode(str(character))
            if replaced != '':
                returnString += replaced
            else:
                try:
                     returnString += "[" + unicodedata.name(character) + "]"
                except ValueError:
                     returnString += "[x]"

    return returnString



string = 'What you want is to make sure you save / read the file with the right encoding.

with open('config.json', 'r', encoding='utf-8') as config_file: 
    config = json.load(config_file)
print(config["messages"])
然后可以使用以下代码:

导入Unicode数据
从unidecode导入unidecode
defmojify(输入字符串):
returnString=“”
对于inputString中的字符:
尝试:
字符编码(“ascii”)
returnString+=字符
除UNICODEENCODEER错误外:
替换=单解码(str(字符))
如果更换!='':
returnString+=已替换
其他:
尝试:
returnString+=“[”+unicodedata.name(字符)+“]”
除值错误外:
returnString+=“[x]”
返回字符串

string='您需要的是确保使用正确的编码保存/读取文件


您需要的是确保使用正确的编码保存/读取文件


试试这个打印(json.dumps(obj,确保ascii=False))没有变化,我得到了相同的输出这个打印(json.dumps(obj,确保ascii=False))没有变化,我得到了相同的输出这就是我要找的!谢谢这就是我要找的!谢谢