# 小型项目实现:本地数据读取与Web应用展示技术博客


背景介绍

在现代应用开发中,数据读取与展示是核心模块之一。本项目旨在实现两个功能:
1. 读取本地JSON数据并展示其基本信息;
2. 开发一个Web应用,允许用户输入姓名和年龄,并动态显示数据。

本项目无需依赖复杂框架(如Spring Boot),仅依靠文件读写、数据处理和前端交互实现,满足小型项目的运行要求。


思路分析

1. 数据读取与展示

  • 本地文件存储:使用Python的json模块读取本地JSON文件,如/data.json
  • 数据处理:将读取的数据结构(如字典)转换为表格格式,展示给用户。
  • 前端交互:通过HTML/JavaScript读取本地文件,动态生成表格内容,并在浏览器中显示数据。

2. Web应用实现

  • 输入验证:验证用户输入的姓名和年龄,防止无效数据。
  • 动态表格展示:使用HTML和JavaScript动态生成表格,支持用户输入并实时更新数据。

代码实现

1. 使用Python实现本地数据读取与展示

import json

def read_local_data():
    try:
        with open("/data.json", "r") as f:
            data = json.load(f)
        print("读取成功:", data)
        return data
    except FileNotFoundError:
        print("本地文件未找到,请重新配置路径。")
        return None

def display_data(data):
    table = "<table>\n<tr><th>姓名</th><th>年龄</th></tr>\n<tr><td>{name}</td><td>{age}</td></tr>".format(name=data["name"], age=data["age"])
    print("数据展示:\n", table)
    return table

# 示例运行
if __name__ == "__main__":
    local_data = read_local_data()
    if local_data:
        display_data(local_data)

2. 前端HTML/JavaScript实现数据读取与展示

<!DOCTYPE html>
<html>
<head>
    <title>本地数据展示</title>
    <style>
        table { border-collapse: collapse; }
        th, td { padding: 8px; }
    </style>
</head>
<body>

<script>
    function loadData() {
        const filePath = "/data.json";
        const data = loadLocalData();

        if (data) {
            const table = document.createElement("table");
            const tr = document.createElement("tr");

            tr.innerHTML = `
                <td>姓名</td>
                <td>年龄</td>
            `;
            table.appendChild(tr);

            tr.innerHTML = `
                <td>${data.name}</td>
                <td>${data.age}</td>
            `;

            document.body.appendChild(table);
        } else {
            alert("数据未找到,请重新配置路径。");
        }
    }

    window.onload = loadData;
</script>

</body>
</html>

总结

本项目通过文件读取与动态数据展示,实现了两个功能:
1. 本地JSON数据读取与展示,使用Python实现;
2. 前端交互实现数据读取与动态表格展示。

项目代码可独立运行,无需依赖复杂框架,且实现了数据验证和简单表格展示的需求。通过前后端结合的方式,有效提升了数据处理的效率与用户体验。