Json提取数据报错感激不尽

题目描述
提取data中的x,并将其相加。data={"note":"This",
"count":[
{"id":"001","x":"2","name":"Chuck"},
{"id":"009","x":"7","name":"Brent"}
]}
题目来源及自己的思路
用json提取
相关代码
//请把代码文本粘贴到下方(请勿用图片代替代码)importurllib.request,urllib.parse,urllib.errorfrombs4importBeautifulSoupimportsslimportjson
ctx=ssl.create_default_context()ctx.check_hostname=Falsectx.verify_mode=ssl.CERT_NONE
data={"note":"This",
"count":[
{"id":"001","x":"2","name":"Chuck"},
{"id":"009","x":"7","name":"Brent"}
]}
info=json.loads(data)print('Usercount:',len(info))
foritemininfo:
print('Name',item['name'])
print('Id',item['id'])
print('Attribute',item['x'])
你期待的结果是什么?实际看到的错误信息又是什么?
1.我期待的结果是x2x72.但执行结果提示TypeError:theJSONobjectmustbestr,bytesorbytearray,notdict3.我试了下如果将data转化为以下样式就可以了,但不知如何转化。另外,如果用data=data['count'],转化出来的数据不带”'''“,导致还是会报错。data='''[{"id":"001","x":"2","name":"Chuck"},{"id":"009","x":"7","name":"Brent"}]'''
ITMISS
浏览 878回答 2
2回答

富国沪深

json.loads这个函数是将序列化后的json字符串反序列化成Python对象,而你代码中的data就是Python对象,你还转啥啊,直接用啊

小怪兽爱吃肉

json加载json格式的数据时,数据应该是一个字符串,你传入的是一个Python的dict对象,这个对象只是长得和json数据类似,对于JavaScript语言来说二者可以当做是一种东西.对于Python来说,一个是字符串,一个是dict对象,不能混为一谈.改成这样试试info=json.loads(data.__str__())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript