背景介绍
JSON(JavaScript Object Notation)是一种轻量级的数据格式,常用于存储和传输结构化数据。本程序旨在利用用户提供的JSON字符串,根据其中的商品信息生成可视化的商品排序结果,例如价格排序或推荐列表。该功能无需依赖外部服务或框架,可直接在本地Python环境中运行,适用于数据处理场景。
思路分析
- 数据结构处理:
输入的JSON字符串包含products数组,其中每个对象包含name、price和quantity字段。需要将这些字段解析为可排序的数据结构。 - 排序逻辑:
根据price字段排序,升序排列,输出结果时需保留原始数据的格式,如“苹果(1.99元) – 100个”这样的文本格式。 - 可视化输出:
使用print语句输出结果,确保格式符合用户示例的要求。
代码实现
import json
def sort_products(json_data):
# 解析JSON数据,并处理可能的错误
try:
products = json.loads(json_data)
# 从价格排序
products.sort(key=lambda x: x['price'])
# 输出结果
for item in products:
print(f"{item['name']} ({item['price']:.2f}元) - {item['quantity']}个")
except json.JSONDecodeError:
print("JSON数据格式错误,请重新输入")
# 示例使用
if __name__ == "__main__":
# 示例输入
input_json = '''
{
"products": [
{"name": "苹果", "price": 1.99, "quantity": 100},
{"name": "香蕉", "price": 2.49, "quantity": 50}
]
}
'''
# 独立运行
sort_products(input_json)
总结
本程序通过读取JSON数据并解析为商品对象,根据price字段进行升序排序,并输出结果。代码实现过程清晰,直接在本地Python环境中运行,无需依赖外部服务,适用于数据处理场景。该功能不仅展示了JSON数据的读写与结构处理能力,也体现了事件响应机制的简单应用。