json的简单介绍:https://www.cnblogs.com/SkySoot/archive/2012/04/17/2453010.html
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
其实我更喜欢将json归结于一个字典,以下面submit.json文件为例:下面json文件里存放的内容
[{“label_id”: [0, 11, 12], “image_id”: “01dbd060b48994cd8a1aca1f1ebe7cf4febcdeb5.jpg”},
{“label_id”: [1, 11, 12], “image_id”: “022efb13db1719182cd6868cda18c4da46cae862.jpg”},
{“label_id”: [2, 11, 12], “image_id”: “03c31c963a11bc8684b4ac6016368365eaa01c30.jpg”},
{“label_id”: [3, 11, 12], “image_id”: “11389364c084cacc011f6134ac5862735a188fd7.jpg”}]
可以看到这个字典里有label_id和image_id两个词,我们尝试一下将这个json写成txt文件
代码如下
import json
json_filename = '/home/hjxu/AI_Challenger-master/code_xu/12.02/submit.json' #这是json文件存放的位置
txt_filename = '/home/hjxu/AI_Challenger-master/code_xu/12.02/finnal.txt' #这是保存txt文件的位置
file=open(txt_filename,'w')
with open(json_filename) as f:
pop_data = json.load(f)
for pop_dict in pop_data:
label_id = pop_dict['label_id']
image_id = pop_dict['image_id']
temp = str(image_id) + ' ' + str(label_id)
file.write(temp + '\n')
file.close()
这段代码也就主要利用了json.load()这个函数,返回的就是一个字典
现在我们尝试一下写入json文件,同样,我更喜欢先将需要写入的内容保存为字典,然后再写入json
写入json主要利用json.dump()函数,
temp_dict = {}
result = []
submit = './submit.json'
##########这边可以写个循环加入字典########
temp_dict['num'] = len(os.listdir(a)) #统计数目
temp_dict['classification'] = num_name #类别
temp_dict['prob'] = num_name_prob #概率
result.append(temp_dict)
##########这边可以写个循环加入字典#######3
with open(submit, 'w') as f:
json.dump(result, f)