我正在努力在Python中做一个实时货币转换器。我已经成功地将URL所需的所有数据提取到Python中。但是,我现在尝试在URL中调用特定字符串。这是我当前的代码:
import urllib.request
import json
##Define JSON API Url
with urllib.request.urlopen("http://openexchangerates.org/api/latest.json?app_id=XXX") as url:
response = url.read()
##Print Fetched data
print (response)
如您所见,我已经打印了它获取的所有数据,但它现在正在从中打印特定的字符串。
我的问题是,如何从URL解析特定字符串?我听说过json.load,这是我应该使用的东西吗?
您需要将数据加载为 JSON;json
模块可以为您执行此操作,但您需要先将数据解码为文本。
import urllib.request
import json
with urllib.request.urlopen("http://openexchangerates.org/api/latest.json?app_id=XXX") as url:
response = url.read()
charset = url.info(). get_content_charset('utf-8') # UTF-8 is the JSON default
data = json.loads(response.decode(charset))
从那时起,数据
就是一个Python对象。
根据文档判断,您应该能够访问以下费率:
print('Euro rate', data['rates']['EUR'])
例如
这是我打印日志时的JSON结果。我无法从这个结果中获得数据。请建议如何从这个结果中获得数据。错误显示of类型org.json.jsonArray不能转换为JSONObject,我知道已经有很多文章与此相关,但我不明白如何获取数据。
我有点麻烦。 我需要创建一个网站,使用以下API显示三个随机的Chuck Norris笑话:http://www.icndb.com/api/。我必须使用以下URL获取笑话:http://api.icndb.com/jokes/random/3。 我的HTML如下: 我的Javascript如下: HTML显示正确,但在控制台中,即使我调用一个笑话,所有三个笑话也会出现。请看下面的截图: 事先谢谢
我有三张桌子:
我有一个内部类,它在我的主类中扩展了异步任务 我在内部类中获得了分配给我的字符串变量“变量”的正确值,但我无法访问我的主类中的值。
问题内容: 日志,为什么? 问题答案: 为了详细说明@Raynos所说的内容,您定义的函数是一个异步回调。它不会立即执行,而是在文件加载完成后执行。当您调用readFile时,将立即返回控件并执行下一行代码。因此,当您调用console.log时,尚未调用您的回调,并且尚未设置此内容。欢迎使用异步编程。 示例方法 或者更好的是,如Raynos的示例所示,将您的调用包装在一个函数中并传递您自己的回调