如何从Json fromat读取?

2024-04-25 22:41:18 发布

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

我正在使用以下代码位:

    from flask import Flask, jsonify, abort, request
    from datetime import datetime
    import json
    import cx_Oracle
    import requests
    /*Some other code bits*/

    longitude = 0.0
    latitude = 0.0
            try:
                params = {
                        'action': 'query',
                        'country': 'Hungary',
                        'city': 'Budapest',
                        'format' : 'json',
                        }
                res = requests.get('http://nominatim.openstreetmap.org/search.php', params=params)
                page = res.json()
                latitude = page['lat']
                longitude =page['lon']
            except:
                pass 
            return jsonify(name=result[0],address=result[1],phone=result[2],income=result[3],Latitude = latitude, Longitude=longitude)

我正试图从这个JSON格式的链接中获得纬度和逻辑度:http://nominatim.openstreetmap.org/search.php?action=query&format=json&city=Budapest&country=Hungary

name=result[0]、address=result[1]、phone=result[2]、income=result[3]都很好,工作也很好,但是我肯定做错了什么,因为经纬度仍然是0.0。 如果我从第1行和第2行中删除初始化,那么我会得到一个错误

       UnboundLocalError: local variable 'latitude' referenced before assignment

可能是因为它在try块中遇到了某种错误。你知道吗

对于这个简单的问题我很抱歉,我对python和JSON非常陌生。你知道吗


Tags: fromimportjsondatetimepageactionparamsresult
1条回答
网友
1楼 · 发布于 2024-04-25 22:41:18

这本词典有一个单子,初学者很难理解。如果在响应中看到[],则必须使用数字索引来引用这些括号内的内容。然后你可以通过关键字引用里面的dict。使用请求获取JSON。你知道吗

import requests

r = requests.get('http://nominatim.openstreetmap.org/search.php?action=query&format=json&city=Budapest&country=Hungary').json()

print(r[0]['lon'])

print(r[0]['lat'])

输出: 19.0404707 47.4983815美元

进程已完成,退出代码为0

相关问题 更多 >