Follow

今天再尝试python读取json文件,终于弄明白怎么打开的读取,

接下来是找如何取其中1个或几个键的值的方法——一个外行看代码如同看天书 :ac_classic10:

· · Web · 2 · 2 · 4

@purplemacaroon
import json
两种方法 load() 接受的是文件对象,所以
with open('xxx.json') as f:
obj = json.load(f)
loads()的s表示string,所以
with open('xxx.json') as f:
obj = json.loads(f.read())

@literalkernel 哇!谢谢!我忙完手边事就去尝试!感谢!

@literalkernel 刚试过了这两个方法好像都只能读单条数据,但我想要读取的json文件是上万条数据,所以会报错。目前读取是用的这个,是能读取出来的
‘import json
tmp = []
for line in open(‘XXX.json’,’r’,encoding= ‘utf8’):
tmp.append(json.loads(line))’

但是还不会调用其中的某1个键的值或者几个键的值 :ac_classic10:

@purplemacaroon 那我的两种方法假定整个文件在描述一个json对象,如果比较多那就是obj里头套一个数组然后load,就别f.read()了
你如果一行就是一个对象,那你的方法就刚好

@purplemacaroon json的对象映射为py的键值,数组映射为列表
{key: value}就是obj["key"]
[1, 2, 3]就直接下标访问或者for in obj迭代呗

Sign in to participate in the conversation
小森林

每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢。愿这里,成为属于你的小森林。