从JSON对象读取数据

时间:2017-10-08 03:43:36

标签: json python-3.x

我在文件 json_format.py 中有JSON数据,如下所示:

{
    "name"      : "ramu",
    "place"     : "hyd",
    "height"    : 5.10,
    "list"      : [1,2,3,4,5,6],
    "tuple"     : (0,1,2),
    "colors"    : {"mng":"white","aft" : "blue","night":"red"},
    "car"       : "None",
    "bike"      : "True",
}

我正在使用以下代码阅读上述内容:

import json
from pprint import pprint

with open (r'C:/PythonPrograms\Json_example/json_format.py') as jobj:
    fp = jobj.readlines()  
    b = json.dumps(fp)                # ---> I get string 
    print(type(b))    
    c = json.loads(b)
    print(type(c))                    # ---> List
    pprint(c)
    print(c[0])
    pprint(c["name"])

现在,我想以c['name']的形式访问JSON对象,输出应为ramu
由于c是一个列表,我无法这样做。如何读取我的JSON数据以便我可以使用密钥访问它?

提前致谢!

1 个答案:

答案 0 :(得分:0)

当您需要时,您正在有效地执行c = json.loads(json.dumps(jobj.readlines()))

c = json.load(jobj)

print(c["name"]) # ramu

此外,您的JSON格式不正确。

  • JSON中没有元组:"tuple" : (0,1,2),
  • 您的上一个项目不应以逗号结尾:"bike" : "True",