aardio Json和INI文件解析

wx 1天前 77

 



今天解锁新技能 —— 配置文件解析!感觉像在破译程序的 “密码本”。配置文件就像是程序运行的 “工具包”,里面藏着各种参数和设置,而 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文件的解析方法,感觉收获满满!总结一下:

  • JSON文件解析:可以用json模块的parse函数将JSON字符串或文件内容解析为aardio的表,然后通过表的键来访问对应的值。

  • INI文件解析:用ini模块的ini函数读取INI文件,将其解析为一个嵌套的表,同样通过表的键来访问对应的值,还可以用write函数修改配置信息并保存。


 


最新回复 (3)
  • 光庆 1天前
    0 引用 2
    又是一个新技能,点赞顶起!
  • wx 1天前
    0 引用 3

    只是研究这两个怎么弄,其他配置文件还没研究,还差很多要学的

返回