蟒蛇无法解析JSON字符串
问题描述:
我试图解析JSON数据,但它没有工作,JSON解析器返回一个强大的不是字典! 这里的代码:蟒蛇无法解析JSON字符串
import urllib2
from BeautifulSoup import BeautifulSoup
import json
html = urllib2.urlopen("http://www.imdb.com//name/nm0425005/mediaviewer/rm244453632?ref_=nmmi_mi_all_sf_49").read()
soup = BeautifulSoup(html)
script = soup.find('script', {'id': 'imageJson'})
json_data = ''.join(map(str, script.contents))
json_data = json.dumps(json_data.strip(' \t\n\r'))
data = json.loads(json_data)
print data['mediaViewerModel']
答
json_data = ''.join(map(str, script.contents))
>>> json_data = json.dumps(json_data.strip(' \t\n\r'))
data = json.loads(json_data)
该标记行是问题所在。 json_data
当前是编码字典的字符串,当您调用json.dumps
时,它将是编码字典的字符串编码字典,并且您的最后一行只是撤销一个实例。你究竟在用标记线做什么?
+0
我试过只加载加载函数,但它没有工作,我得到这个错误:ValueError:期望,分隔符:第2行列515(char 515) 我添加转储我认为它会修复json的语法 – Tyranitar
+0
这是告诉你,你试图解析的是不是有效的JSON。既然你是从网站上刮来的,你可能会得到一些东西没有适当的逃避或什么,你会从API获得什么。 –
是的,我打印json数据之前,它传递给json模块,但它看起来好吧 – Tyranitar