# JSON数据处理程序:过滤与排序用户信息


背景介绍

本项目面向中级开发者,要求实现过滤和排序功能。通过读取JSON数据,处理后将返回符合条件的用户信息列表。核心功能包括过滤(email不为空)和排序(按name升序排列),要求实现清晰的代码结构与可运行性。

思路分析

  1. 数据读取:使用Python的json模块读取输入JSON文件,保持数据结构不变。
  2. 过滤逻辑:通过条件判断过滤符合条件的用户,将email字段不为空的用户保留。
  3. 排序算法:使用Python内置的sorted函数,将用户信息按name升序排列。
  4. 输出格式:确保输出结果为JSON数组格式,不包含额外内容。

代码实现

import json

def process_users(json_data):
    # 读取JSON数据
    users = json_data['users']

    # 过滤符合条件的用户
    filtered_users = [user for user in users if user['email'] != '']

    # 排序功能
    sorted_users = sorted(filtered_users, key=lambda x: x['name'])

    return sorted_users

# 示例使用
if __name__ == "__main__":
    input_json = '''
    {
        "users": [
            {"name": "Alice", "email": "alice@example.com"},
            {"name": "Bob", "email": "bob@example.com"}
        ]
    }
    '''

    result = process_users(json_data=json_data)

    # 输出结果
    print("处理后结果为:")
    print(json.dumps(result, indent=4))

学习价值

本项目涵盖了文件读写与数据处理的核心知识点,包括:

  1. 文件读写:使用Python的json模块读取JSON数据并处理。
  2. 常见数据结构:通过列表处理用户信息。
  3. 排序算法:使用Python内置的排序函数实现升序排列。

总结

本项目通过Python脚本实现JSON数据的过滤和排序功能,展示了数据处理的基本流程。项目可独立运行,约1~3天完成开发,适用于中级及以上开发者的学习需求。