从Python中的API导出JSON

2024-10-05 10:36:03 发布

您现在位置:Python中文网/ 问答频道 /正文

目前,我已经成功连接到一个公共API并获得了一个JSON(一个巨大的JSON),并且我成功地进入python控制台,获得了一些可翻译的东西:

import requests
import json
import sys
response = requests.get("http://api.gipod.vlaanderen.be/ws/v1/workassignment")
def jprint(obj):
    # create a formatted string of the Python JSON object
    text = json.dumps(obj, sort_keys=True, indent=4)
    print(text)
print(response.status_code)
jprint(response.json())

下面是一个我可以得到的响应示例:

这不是唯一一个对象,我得到的对象数量可以超过100。

[
{
"gipodId": 103246,
"owner": "Eandis Leuven",
"description": ", , ZAVELSTRAAT: E Nieuw distributienet (1214m)",
"startDateTime": "2007-12-03T06:00:00",
"endDateTime": "2014-01-06T19:00:00",
"importantHindrance": false,
"coordinate": {
"coordinates": [
4.697028256276443,
50.896894135898485
],
"type": "Point",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
}
},
"detail": http://api.gipod.vlaanderen.be/ws/v1/workassignment/103246?crs=4326,
"cities": ["Leuven"]
}
],
"latestUpdate": "2016-11-16T11:32:39.253"
}

然而,我遇到的一个问题是,我真的找不到一个关于将所请求的JSON导出到文件的好教程,甚至找不到像获取文件对话框将文件保存到某个位置这样的教程

有人能帮我吗?到目前为止,所有的教程都告诉我,我需要定义“列”,但真的没有更简单的吗?由于坐标数据,我现在需要获取所有字段

编辑1:多亏了furas,我的编程更深入了一点,但这实际上仍然没有解决,因为我没有找到保存它的目录

import requests

import json

import sys

response = requests.get("http://api.gipod.vlaanderen.be/ws/v1/workassignment")
print(response.status_code)

text = json.dumps(response.json(),sort_keys=True, indent=4)
print(text)

f = open("text.json", "wt")
f.write(text)

编辑2:更新,是的,文件现在已保存:但文件的位置应该很重要,从技术上讲,这个问题是通过furgas解决的,但仍然首选通过文件对话框设置文件位置

import requests

import json

import sys

import os

import geojson



response = requests.get("http://api.gipod.vlaanderen.be/ws/v1/workassignment", params = {"CRS": "Lambert72"})

print(response.status_code)
text = json.dumps(response.json(),sort_keys=True, indent=4)
print(text)

f = open("text.json", "wt")
f.write(text)

print(os.getcwd())

Tags: 文件textimportapijsonhttpwsresponse

热门问题