json - 在 TOIT 语言上对 JSON 对象进行序列化/反序列化
问题描述
我有几个关于使用 json 的问题。可以看到附件库 l ib_v1.0.2中有对应的模块,但是示例中没有用到。是否可以给出两个简单的示例:将对象序列化为 json 字符串并将json反序列化为同一对象:例如通过constructor.json jsonString创建对象。如果可能,除了序列化/反序列化普通字段:字符串、int、bool之外,解释如何序列化/反序列化和散列映射和列表(如果对象包含它们)。
在此先感谢, MK
解决方案
目前,JSON 库仅支持硬编码的类型列表:
encode obj:
if obj is string: encode_string_ obj
else if obj is num: encode_number_ obj
else if identical obj true: encode_true_
else if identical obj false: encode_false_
else if identical obj null: encode_null_
else if obj is Map: encode_map_ obj
else if obj is List: encode_list_ obj
else: throw "INVALID_JSON_OBJECT"
这意味着它不能序列化/反序列化其他(用户定义的)类型的对象。
我在这里提交了一个功能请求:https ://github.com/toitware/public/issues/6
推荐阅读
- c - 计算公式的结果
- python - SQLAlchemy 1.3 中的 Oracle 自动增量
- php - 简码 Wordpress 响应式
- postgresql - 具有在初始插入后从未引用的不可变数据的数据库设计
- pointers - 为什么这不适用于转置矩阵
- ms-office - 如何使用 Office-ui-fabric 品牌图标
- java - 即使我已经设置了它的值,变量也将值显示为 null
- windows - '.' 的意义 在 PATH 或任何其他环境变量中
- python - 用于从多个 UTF8 文本文件中的汉字中删除空格的 Python 代码
- c# - 在 C# 中将字符串变量保存在 JSON 文件中