今天解锁新技能 —— 配置文件解析!感觉像在破译程序的 “密码本”。配置文件就像是程序运行的 “工具包”,里面藏着各种参数和设置,而 JSON 和 INI 是最常见的两种 “密码格式”,学会读它们就能看懂程序的 “小心思”。
一、JSON文件解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,听说它很容易让人读懂和编写,机器也能轻松解析和生成。在aardio里,我们可以用json
模块来解析JSON文件。
示例1:解析简单的JSON字符串 import web.json; import console; var jsonStr = '{"name": "张三", "age": 20}'; var data = web.json.parse(jsonStr); console.log(data.name); console.log(data.age); console.pause();
运行这段代码,控制台输出了“张三”和“20”。
截图一 示例2:解析JSON文件 import web.json; import console; var fileContent = io.file("D:\tools\aardio\project\demo\config.json"); var line = fileContent.readAll(); var config = web.json.parse(line); console.log(config.host); console.log(config.port); console.pause();
假设config.json
文件内容是这样的:
{ "host": "127.0.0.1", "port": 8080 }
截图二 这里我们先读取了JSON文件的内容,然后把它解析成了一个aardio的表,通过表的键就能访问对应的值啦。
二、INI文件解析 INI文件也是一种常见的配置文件格式,通常用来存储程序的配置信息。在aardio里,我们用ini
模块来解析INI文件。
示例1:解析简单的INI文件 import fsys.ini; import console; var iniData = fsys.ini("D:\tools\aardio\project\demo\config.ini"); console.log(iniData.read("Section1","key1")); console.log(iniData.read("Section2","key2")); console.pause();
假设config.ini
文件内容是这样的:
[Section1] key1 = value1 [Section2] key2 = value2
截图三 运行这段代码,就能通过表的键访问到对应的值啦,感觉INI文件也不难理解嘛。
示例2:修改INI文件并保存 import fsys.ini; import console; var iniData = fsys.ini("D:\tools\aardio\project\demo\config.ini"); var first = iniData.read("Section1","key1"); newiniData = iniData.write("Section1","key1","newvalue") var iniData = fsys.ini("D:\tools\aardio\project\demo\config.ini"); var second = iniData.read("Section1","key1"); if(first !== second){ console.log("修改成功") }else { console.log("对不起。修改失败") } console.pause();
截图四 这里我们先读取了INI文件,然后修改了配置信息,最后把修改后的信息保存到文件里,就像给程序的“说明书”做了一点小更新一样。
三、综合习题 假设我们有一个JSON文件user_info.json
,内容是这样的:
{ "user": { "name": "李四", "age": 25, "address": { "city": "北京", "street": "长安街" } } }
同时还有一个INI文件settings.ini
,内容是这样的:
[General] theme = dark font_size = 12 [Network] server = example.com port = 80
要编写一个aardio程序,读取这两个文件的配置信息,并输出用户的姓名、所在城市、主题和服务器地址。
我的答案是这样的:
import web.json; import fsys.ini; import console; var jsonContent = io.file("D:\tools\aardio\project\demo\user_info.json"); var line = jsonContent.readAll(); var userData = web.json.parse(line); var iniData = fsys.ini("D:\tools\aardio\project\demo\settings.ini"); console.log("姓名:", userData.user.name); console.log("所在城市:", userData.user.address.city); console.log("主题:", iniData.read("General","theme")); console.log("服务器地址:", iniData.read("Network","server")); console.pause();
截图五 运行这个程序,就能输出我们需要的信息啦!
四、学习小结 今天学习了JSON和INI文件的解析方法,感觉收获满满!总结一下: