如何从rest api获取数据并将JSON保存到txt文件?

时间:2016-11-26 16:54:30

标签: json python-3.x save urllib3

我正在尝试从rest api获取一些数据并将JSON保存到txt文件中。这是我的工作:

#random rest api
a = 'https://thiswouldbemyurl.com'

#urllib3 + poolmanager for requests
import urllib3
http = urllib3.PoolManager()

import json
r = http.request('GET', a)
json.loads(r.data.decode('utf-8'))

with open('data.txt', 'w') as f:
  json.dump(data, f, ensure_ascii=False)

我的json.load已收到错误消息。我做错了什么?

编辑:这就是JSON的样子

{
   "success":true,
   "data":[
      {
         "id":26,
         "name":"A",
         "comment":"",
         "start_time_plan":null,
         "start_time_actual":"2016-09-13 00:00:00",
         "start_time_delta":null,
         "start_time_score":null,
         "start_time_score_achievement":null,
         "start_time_traffic_light":null,
         "end_time_plan":null,
         "end_time_actual":"2016-09-13 00:00:00",
         "end_time_delta":null,
         "end_time_score":null,
         "end_time_score_achievement":null,
         "end_time_traffic_light":null,
         "status":0,
         "measure_schedule_revision_id":63,
         "responsible_user_id":3,
         "created_time":"2016-09-13 11:29:14",
         "created_user_id":3,
         "modified_time":"2016-09-21 16:33:41",
         "modified_user_id":3,
         "model":"Activity"
      }

1 个答案:

答案 0 :(得分:1)

听起来你正试图json.load(...)实际上不是JSON的东西。

查看您正在使用的网址,https://jsonplaceholder.typicode.com/会返回HTML而不是JSON。

如果您使用 返回JSON的https://jsonplaceholder.typicode.com/posts之类的内容,那么该特定错误就会消失。