如何在Python中解析JSON文件中的值

Pyt*_*ast 3 python json file

我正在尝试从json文件中获取值,并且我得到的错误是TypeError: expected string or buffer.我正确解析文件,而且我猜我的json文件格式也正确.我哪里错了?

两个文件都在同一目录中.

Main_file.py

import json

json_data = open('meters_parameters.json')

data = json.loads(json_data)  // TypeError: expected string or buffer
print data
json_data.close()
Run Code Online (Sandbox Code Playgroud)

meters_parameters.json

{
    "cilantro" : [{
        "cem_093":[{
            "kwh":{"function":"3","address":"286","length":"2"},
            "serial_number":{"function":"3","address":"298","length":"2"},
            "slave_id":{"function":"3","address":"15","length":"2"}
        }]
    }],
    "elmeasure" : [{
        "lg1119_d":[{
            "kwh":{"function":"3","address":"286","length":"2"},
            "serial_number":{"function":"3","address":"298","length":"2"},
            "slave_id":{"function":"3","address":"15","length":"2"}
        }]
    }]
}
Run Code Online (Sandbox Code Playgroud)

Bur*_*lid 11

loads期望字符串不是文件句柄.你需要json.load:

import json

with open('meters_parameters.json') as f:
    data = json.load(f)
print data
Run Code Online (Sandbox Code Playgroud)