我将JSON数据存储在变量中data.
我想将其写入文本文件进行测试,因此我不必每次都从服务器获取数据.
目前,我正在尝试这个:
obj = open('data.txt', 'wb')
obj.write(data)
obj.close
Run Code Online (Sandbox Code Playgroud)
我收到错误:
TypeError: must be string or buffer, not dict
如何解决这个问题?
在有人给我几十亿次这个问题的废话之前,请注意我已经在很多线程中尝试了几个答案但是它们似乎都没有适合我的问题.
import json
def parse(fn):
results = []
with open(fn) as f:
json_obj = json.loads(open(fn).read())
for r in json_obj["result"]:
print(r["name"])
parse("wine.json")
Run Code Online (Sandbox Code Playgroud)
我基本上只是打开一个json文件并迭代一些值.显然,每当我读取一个包含unicode的值时,我就会收到此错误.
Traceback (most recent call last):
File "json_test.py", line 9, in <module>
parse("wine.json")
File "json_test.py", line 7, in parse
print(r["name"])
File "C:\Python34\lib\encodings\cp850.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u201c' in position
15: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)
正如人们在其他线程中所说的那样,我试图对它进行编码等等,但无论我如何编码和/或解码,我都会遇到类似的错误.请帮忙.