# 基于JSON数据的可视化商品排序程序


背景介绍

JSON(JavaScript Object Notation)是一种轻量级的数据格式,常用于存储和传输结构化数据。本程序旨在利用用户提供的JSON字符串,根据其中的商品信息生成可视化的商品排序结果,例如价格排序或推荐列表。该功能无需依赖外部服务或框架,可直接在本地Python环境中运行,适用于数据处理场景。

思路分析

  1. 数据结构处理
    输入的JSON字符串包含products数组,其中每个对象包含namepricequantity字段。需要将这些字段解析为可排序的数据结构。
  2. 排序逻辑
    根据price字段排序,升序排列,输出结果时需保留原始数据的格式,如“苹果(1.99元) – 100个”这样的文本格式。
  3. 可视化输出
    使用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数据的读写与结构处理能力,也体现了事件响应机制的简单应用。