从web获取的json文件python中提取数组

2024-06-08 04:12:30 发布

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

我想用python3从这个页面获取实时引用 link

这里的引号存储在json文件中的数组“JsonData” 我想获取存储在json文件中LTP中的值

from urllib.request import urlopen
import json


url = ("https://ewmw.edelweiss.in/api/Market/Process/GetFutureValue/BANKNIFTY/05%20Apr%202018")
response = urlopen(url)
data = response.read().decode("utf-8")
y = json.loads(data['JsonData'])
print(y)

Tags: 文件fromimportjsonurldataresponselink
3条回答

您可以按照下面的建议使用eval,但这并不是一件好事情,真的。所以你可以这样做:

import requests, json
r = requests.get('https://ewmw.edelweiss.in/api/Market/Process/GetFutureValue/BANKNIFTY/05%20Apr%202018').json()
data = json.loads(r)
print(data['JsonData'])

或者,如果您坚持使用urllib,那么只需添加另一个y = json.loads(y),这不是一个好的解决方案,所以您希望稍后更改它,但要比eval好一点。完整代码:

^{pr2}$

如果是我,我会选第一个,更干净,更短,更好。在

你可以试试ast:

但是在使用eval()之前,请从NedBat中读取post

from urllib.request import urlopen
import json
import ast

url = ("https://ewmw.edelweiss.in/api/Market/Process/GetFutureValue/BANKNIFTY/05%20Apr%202018")
response = urlopen(url)
data = response.read().decode("utf-8")
load_data= ast.literal_eval(data)
convert_to = json.loads(load_data)


print(convert_to['JsonData'])

输出:

^{pr2}$

更换

y = json.loads(data['JsonData'])

^{pr2}$

注意:数据已转义。这就是为什么我使用.decode('string-escape').strip('"')

相关问题 更多 >

    热门问题