无需Java代码加载修改,如何动态替换JSON文件固定值为系统当前日期?
直接动态修改JSON文件的实现方案
首先明确:纯JSON是静态数据格式,本身不具备动态执行逻辑的能力,无法自动替换占位符。要实现让JSON文件里的日期字段自动变为系统当前日期,必须依赖外部脚本工具直接修改文件内容,以下是几种可行的跨平台方案:
前提:修正JSON语法错误
你提供的原JSON存在语法问题——键值对之间用了分号;,合法JSON必须用逗号,分隔。先将JSON文件调整为以下格式(用占位符标记需要替换的日期字段):
{"name":"Andrew", "Date of Birth":"{{CURRENT_DATE}}"}
方案1:Shell脚本(Linux/macOS)
通过Shell命令直接读取文件、替换占位符并写回:
# 获取当前系统日期,格式为dd-mm-yyyy CURRENT_DATE=$(date +"%d-%m-%Y") # 替换JSON文件中的占位符(假设文件名为data.json),同时生成备份文件 sed -i.bak "s/{{CURRENT_DATE}}/$CURRENT_DATE/" data.json # 可选:删除自动生成的备份文件 rm data.json.bak
使用方式:将上述代码保存为update_json.sh,赋予执行权限后运行,即可直接修改JSON文件内容。
方案2:PowerShell脚本(Windows)
适合Windows环境,通过PowerShell完成文件内容替换:
# 获取当前日期,格式为dd-mm-yyyy $currentDate = Get-Date -Format "dd-MM-yyyy" # 读取JSON文件的全部内容 $content = Get-Content -Path "data.json" -Raw # 替换占位符并将修改后的内容写回文件 $content -replace "{{CURRENT_DATE}}", $currentDate | Set-Content -Path "data.json"
使用方式:保存为update_json.ps1,在PowerShell中运行即可。
方案3:Python脚本(跨平台)
Python脚本可在任何系统运行,逻辑更直观:
import datetime # 指定JSON文件路径 file_path = "data.json" # 生成当前日期字符串(格式dd-mm-yyyy) current_date = datetime.datetime.now().strftime("%d-%m-%Y") # 读取文件内容并替换占位符 with open(file_path, 'r', encoding='utf-8') as f: content = f.read() updated_content = content.replace('{{CURRENT_DATE}}', current_date) # 将修改后的内容写回文件 with open(file_path, 'w', encoding='utf-8') as f: f.write(updated_content)
使用方式:保存为update_json.py,安装Python环境后运行即可。
进阶:定时自动更新
如果需要定期自动更新JSON文件的日期,可以将上述脚本加入系统定时任务:
- Linux/macOS:使用
crontab设置定时执行Shell脚本 - Windows:通过「任务计划程序」配置定时运行PowerShell脚本
内容的提问来源于stack exchange,提问作者kselvan9000
相关产品推荐
相关产品推荐

