如何将包含 Unicode 的 json 文件转换为字符串并在 python 中另存为 json 文件?

How to convert json file contains Unicode to string and save as a json file in python?

我有一个很大的 JSON 文件。我的目标是缩小使用 Python。 JSON 文件包含阿拉伯语和孟加拉语字符。 我的问题是当我尝试缩小时我得到的是 Unicode 字符而不是像这样的普通字符串字符 \u09c7.

如何保存带有普通字符串字符的缩小文件?

下面是我的代码:

import json
filename = 'quran.json'  # file name we want to compress
newname = filename.replace('.json', '.min.json')  # Output file name
fp = open(filename, encoding="utf8")
print("Compressing file: " + filename)
print('Compressing...')

jload = json.load(fp)
newfile = json.dumps(jload, indent=None, separators=(',', ':'))
newfile = str.encode(newfile)
f = open(newname, 'wb')
f.write(newfile)
f.close()
print('Compression complete!)

这里是文件 link,如果你想尝试的话:https://raw.githubusercontent.com/nhridoy/quran-api/main/v1/quran.json

它需要 ensure_ascii=Falsejson.dumps()

中标记
import json

filename = 'quran.json'  # file name we want to compress
newname = filename.replace('.json', '.min.json')  # Output file name

with open(filename, encoding="utf8") as fp:
    print("Compressing file: " + filename)
    print('Compressing...')

    jload = json.load(fp)
    newfile = json.dumps(jload, indent=None, separators=(',', ':'), ensure_ascii=False)
    #newfile = str.encode(newfile) # remove this
    with open(newname, 'w',  encoding="utf8") as f: # add encoding="utf8"
        f.write(newfile)
    
print('Compression complete!')