Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Json值打印类型错误:字符串索引必须是整数,而不是str_Python_Json_Python 2.7 - Fatal编程技术网

Python Json值打印类型错误:字符串索引必须是整数,而不是str

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

我有下面的python词典

 >>> 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"])