Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
146 views
in Technique[技术] by (71.8m points)

python - 如何将JSON数据写入文件?(How do I write JSON data to a file?)

I have JSON data stored in the variable data .

(我将JSON数据存储在变量data 。)

I want to write this to a text file for testing so I don't have to grab the data from the server each time.

(我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。)

Currently, I am trying this:

(目前,我正在尝试:)

obj = open('data.txt', 'wb')
obj.write(data)
obj.close

And am receiving the error:

(并收到错误:)

TypeError: must be string or buffer, not dict

How to fix this?

(如何解决这个问题?)

  ask by user1530318 translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You forgot the actual JSON part - data is a dictionary and not yet JSON-encoded.

(您忘记了实际的JSON部分- data是一个字典,尚未进行JSON编码。)

Write it like this for maximum compatibility (Python 2 and 3):

(写这样的最大兼容性(Python 2和3):)

import json
with open('data.json', 'w') as f:
    json.dump(data, f)

On a modern system (ie Python 3 and UTF-8 support), you can write a nicer file with

(在现代系统(即Python 3和UTF-8支持)上,您可以使用)

import json
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...