Append new items to a Json array in Python

本文通过示例介绍了Python中JSON数据的存储、读取及更新的方法,包括如何创建和更新JSON菜单等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. python存储Json格式的数据

import json
 
array = '{"drinks": ["coffee", "tea", "water"]}'

data = json.loads(array)
 
for element in data['drinks']:
    print element

这个简单的例子体现了 json 中 array 数据类型的使用。我们知道,json array 数据类型的添加数据的功能是非常重要的,因为不可能array数据都在代码中事先声明好。所以,下一个例子我们看看如何将array数据添加到json array数据类型中。

2. json array中添加数据

import json
 
array = '{"drinks": ["coffee", "tea", "water"]}'
data = json.loads(array)
 
 # print original josn array data
for element in data['drinks']:
    print element

# add a new item to json array
data['drinks'].append("orange juice")
for element in data['drinks']:
    print element

3. 我们制作一个简单的好玩的餐厅 Json 菜单

import json

# ini
person = '{"name": []}'
drinks = '{"liquid": []}'

# load json
person = json.loads(person)
drinks = json.loads(drinks)

# empty orders
for element in drinks['liquid']:
    print element
for element in person['name']:
	print element    

# new orders
person['name'].append("Alice")
drinks['liquid'].append("Coffee")

person['name'].append("Bob")
drinks['liquid'].append("Tea")

person['name'].append("Joe")
drinks['liquid'].append("Orange juice, hot, please.")

# print orders
for element in person['name']:
    print element

print '\n'
for element in drinks['liquid']:
    print element  

这里写图片描述

我们是怎么知道的 Alice 喝 Coffee,而不是 Tea 的呢?事实上,我们人为地将 json 中 person array 的 items 顺序地对应到 json 中 drinks array 的 items中,比如,person array 的第一个 item 对应到 drinks array 的第一个 item;person adday 的第二个 item 对应到 drinks array 的第二个 item;以此类推。

这说明了一个严重的问题:自动化的程度还是不够,还需要人为半手工地操作。下一个小例子,我们就来解决这一个问题。

4. 改进的餐厅 Json 菜单

import json

# ini
orders = '{"person": [], "drinks": []}'

# load json
orders = json.loads(orders)

# new oders
orders['person'].append("Alice")
orders['drinks'].append("Coffee")

orders['person'].append("Bob")
orders['drinks'].append("Tea")

orders['person'].append('Joe')
orders['drinks'].append('Orange juice, hot, please')

# print orders
for i in range(0, len(orders['person'])):
	print 'person: ', orders['person'][i], ' drinks: ', orders['drinks'][i]

这里写图片描述

参考
https://pythonspot.com/tag/json/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值