首页 > 解决方案 > 试图在python中将JSON转换为字典

问题描述

我为 application/ld+json 抓取了一个网站,它返回 json,我想将字符串转换为 python 字典,但它似乎不起作用。在终端中,我从 None 收到错误 JSONDecodeError("Expecting value", s, err.value)。我对使用 JSON 比较陌生,所以我可能犯了一个愚蠢的错误,但是我在堆栈溢出中发现的所有内容都不起作用。任何帮助将不胜感激,并感谢您花时间阅读我的帖子!

这是我的代码

from flask import Flask, render_template
from bs4 import BeautifulSoup
import requests
import json

source = requests.get('https://www.visionlearning.com/en/library/Chemistry/1/Nuclear-Chemistry/59').text
soup = BeautifulSoup(source, 'html.parser')

jsonString = str(soup.find_all('script', type='application/ld+json')[0])
print(json.loads(jsonString))

标签: pythonjsonbeautifulsoup

解决方案


如果您打印出 jsonString,您将看到它包含<script>选项卡,只需获取内部内容:

jsonString = str(soup.find_all('script', type='application/ld+json')[0].text)

推荐阅读