首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >aardio 序列化与反序列化

aardio 序列化与反序列化

原创
作者头像
文周周的
发布2025-06-18 12:28:59
发布2025-06-18 12:28:59
10800
代码可运行
举报
文章被收录于专栏:aardioaardio
运行总次数:0
代码可运行

今天开始学习编程里的数据存储啦!

一、数据序列化

序列化就是把复杂的数据结构变成能存起来或传输出去的形式。在 aardio 里用得最多的是JSON格式,听说这是一种很轻便的数据格式,适合存东西和传数据。

示例:数据变身

代码语言:javascript
代码运行次数:0
运行
复制
import web.json
import console;

var data = {
    name = "张三",
    age = 25,
    hobbies = {"读书", "跑步"}
}

var jsonStr = web.json.stringify(data,"utf-8")
console.log(jsonStr)

console.pause();
截图一
截图一

二、数据反序列化

有变身当然就有还原!反序列化就是把JSON字符串变回原来的数据结构,像拆快递一样。在aardio里用 web.json.parse 函数就能实现。

示例:数据还原

代码语言:javascript
代码运行次数:0
运行
复制
import web.json;
import console;

var jsonStr = '{"person": {"name": "赵六", "age": 35, "contact": {"phone": "13900139000", "email": "zhaoliu@example.com"}}, "projects": [{"name": "项目C", "status": "进行中"}, {"name": "项目D", "status": "已完成"}]}'

var data = web.json.parse(jsonStr)
console.log(data.person.name)
console.log(data.projects[1].name)
console.pause();
截图二
截图二

三、数据存储与读取

学会了变身和还原,接下来就是把数据存到文件里啦!

示例1:把数据写入文件

代码语言:javascript
代码运行次数:0
运行
复制
import web.json
import fsys;

var data = {
    title = "学习笔记",
    content = "今天学习了数据序列化与存储。"
}

var jsonStr = web.json.stringify(data,"utf-8")

var file = io.file("/note.json", "w+b")
file.write(jsonStr)
file.close()

示例2:从文件里读取数据

代码语言:javascript
代码运行次数:0
运行
复制
import web.json;
import console;

var file = io.file("/note.json", "r")
var jsonStr = file.readAll()
file.close()

var data = web.json.parse(jsonStr)
console.log(data.title)
console.log(data.content)
console.pause();
截图三
截图三

四、挑战

题目是定义学生信息,存到文件再读出来。试着重写了一下代码,发现关键点在于:

  1. 序列化和反序列化的函数别搞混(stringify 是变身,parse 是还原);
  2. 文件路径要写对;
  3. 反序列化后的数据结构要记清楚。

我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
import web.json;
import console;

var student = {
    name = "小明",
    age = 18,
    score = 90
}

var jsonStr = web.json.stringify(student,"utf-8")
var file = io.file("student.json", "w+")
file.write(jsonStr)
file.close()

file = io.file("student.json", "r")
jsonStr = file.readAll()
file.close()
var data = web.json.parse(jsonStr)

console.log("姓名:" + data.name)
console.log("成绩:" + tostring(data.score))
console.pause();
截图四
截图四

五、学习小结

  • 序列化:把数据变成JSON字符串,方便存储和传输;
  • 反序列化:把JSON字符串变回数据结构;
  • 文件操作:用 io.file 打开文件,write 写入、readAll 读取,记得用完关文件!

不过还有点小疑问:

  • JSON里的中文会不会乱码?但是指定 utf-8 编码就没问题,试了下确实可以;
  • 除了JSON,还有其他序列化方式吗?可能以后会学到吧 ,反正还没学到。

总之,今天的学习非常有用,又学到了一个知识点。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据序列化
    • 示例:数据变身
  • 二、数据反序列化
    • 示例:数据还原
  • 三、数据存储与读取
    • 示例1:把数据写入文件
    • 示例2:从文件里读取数据
  • 四、挑战
  • 五、学习小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档