Python Json值打印类型错误:字符串索引必须是整数,而不是str
我有下面的python词典Python Json值打印类型错误:字符串索引必须是整数,而不是str,python,json,python-2.7,Python,Json,Python 2.7,我有下面的python词典 >>> dict = {"name":"myname", "class": "10", "score %": "60"} 我已经从dictionary转换为json格式,如下所示 >>> json_format = json.dumps(dict) >>> print json_format {"score %": "60", "name": "myname", "class": "10"} 我正在尝试从js
>>> dict = {"name":"myname", "class": "10", "score %": "60"}
我已经从dictionary转换为json格式,如下所示
>>> json_format = json.dumps(dict)
>>> print json_format
{"score %": "60", "name": "myname", "class": "10"}
我正在尝试从json_格式变量获取密钥值:
>>> print json_format["name"]
我得到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers, not str
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:字符串索引必须是整数,而不是str
请帮帮我,我哪里做错了 json.dumps()
返回字符串表示形式,因此不能像json数据类型一样访问它
您需要这样做:
import json
dict = {"name":"myname", "class": "10", "score %": "60"}
json_format = json.dumps(dict)
如果您检查json_格式type()
:
输出:
<class 'str'>
json.dumps(dict)
创建一个字符串。它不再可以作为python字典对象访问。您实际上正在创建“{”name:“myname”,“class:“10”,“score%”:“60”}”
可能您需要再次检查才能转换回dict并打印?json.loads(json_格式)
<class 'str'>
json_format = json.loads(json_format)
print(json_format["name"])