解析 json (Python) 内的代码
Parse code within json (Python)
我有以下代码:
from googlefinance import getQuotes
import simplejson as json
print (json.dumps(getQuotes('FRA:BMW'), indent=2))
b=(json.dumps(getQuotes('FRA:BMW'), indent=2))
print(type(b))
a = json.loads((json.dumps(getQuotes('FRA:BMW'), indent=2)))
print(type(a))
这是我得到的:
[
{
"LastTradePrice": "73.39",
"LastTradeWithCurrency": "€73.39",
"LastTradeDateTime": "2016-05-13T19:57:30Z",
"LastTradeDateTimeLong": "May 13, 7:57PM GMT+2",
"ID": "10224532",
"Index": "FRA",
"StockSymbol": "BMW",
"LastTradeTime": "7:57PM GMT+2"
}
]
<class 'str'>
<class 'list'>
[{'LastTradePrice': '73.39', 'LastTradeWithCurrency': '€73.39', 'LastTradeDateTimeLong': 'May 13, 7:57PM GMT+2', 'LastTradeDateTime': '2016-05-13T19:57:30Z', 'ID': '10224532', 'Index': 'FRA', 'StockSymbol': 'BMW', 'LastTradeTime': '7:57PM GMT+2'}]
test
Traceback (most recent call last):
line 11, in <module>
print((a)["Index"])
TypeError: list indices must be integers or slices, not str
如您所见,我无法打印 "Index" 值(在 case:FRA 中)(脚本的最后一行代码)不知道它是如何工作的。
您不需要 json
模块来读取该数据。已经是Pythondictionary了。该错误表示您必须索引 getQuotes
returns 的列表。由于只有一个元素,您可以使用 [0]
>>> from googlefinance import getQuotes
>>> fra_bmw = getQuotes('FRA:BMW')
>>> fra_bmw[0]["Index"]
u'FRA'
我有以下代码:
from googlefinance import getQuotes
import simplejson as json
print (json.dumps(getQuotes('FRA:BMW'), indent=2))
b=(json.dumps(getQuotes('FRA:BMW'), indent=2))
print(type(b))
a = json.loads((json.dumps(getQuotes('FRA:BMW'), indent=2)))
print(type(a))
这是我得到的:
[
{
"LastTradePrice": "73.39",
"LastTradeWithCurrency": "€73.39",
"LastTradeDateTime": "2016-05-13T19:57:30Z",
"LastTradeDateTimeLong": "May 13, 7:57PM GMT+2",
"ID": "10224532",
"Index": "FRA",
"StockSymbol": "BMW",
"LastTradeTime": "7:57PM GMT+2"
}
]
<class 'str'>
<class 'list'>
[{'LastTradePrice': '73.39', 'LastTradeWithCurrency': '€73.39', 'LastTradeDateTimeLong': 'May 13, 7:57PM GMT+2', 'LastTradeDateTime': '2016-05-13T19:57:30Z', 'ID': '10224532', 'Index': 'FRA', 'StockSymbol': 'BMW', 'LastTradeTime': '7:57PM GMT+2'}]
test
Traceback (most recent call last):
line 11, in <module>
print((a)["Index"])
TypeError: list indices must be integers or slices, not str
如您所见,我无法打印 "Index" 值(在 case:FRA 中)(脚本的最后一行代码)不知道它是如何工作的。
您不需要 json
模块来读取该数据。已经是Pythondictionary了。该错误表示您必须索引 getQuotes
returns 的列表。由于只有一个元素,您可以使用 [0]
>>> from googlefinance import getQuotes
>>> fra_bmw = getQuotes('FRA:BMW')
>>> fra_bmw[0]["Index"]
u'FRA'