如何将包含 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=False
在 json.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!')
我有一个很大的 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=False
在 json.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!')