简体   繁体   中英

Reading JSON file using json.load

I have a simple file (username.json) as shown below:

{"lastname": "doe", "firstname": "john"}

I use the following code to read the file:

with open(filename) as file_obj:
    dictionary = json.load(file_obj)
    print(dictionary['firstname']) 

But when I print the dictionary value for the key "firstname" it prints nothing.

When I print the dictionary I get the following:

{u'lastname': u'doe', u'firstname': u'john'}

I know that "u" stands for unicode but for some reason I am not able to use the firstname and lastname keys.

UPDATE:

For some reason it works now!

json.loads converts a json object to the python equivalent.

This means it uses lists and dicts instead of arrays and objects. You are seeing the representation of the former.

doctionary["firstname"] will get you the value in first name (ie, "doe" ) while it's still a python object.

If you want to see json again, you'll need to pass it through json.dumps - but of course you won't be able to manipulate it as above when in that format.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM