本教程展示了NIM对象和JSON字符串对象转换的示例。
$$:将Nim对象序列化为JSOn字符串。to:将JSON字符串反序列化为Nim对象
如何将Nim对象转换为JSOn
Nim有一个 marshal 模块,其中包含序列化和反序列化数据从NIM对象的过程。$$用于将Nim对象转换为JSOn字符串。
这里是一个例子
- 创建员工对象
- 变量通过使用构造函数添加数据创建
$$变量返回JSOn字符串
import std/marshal
type
Employee = object
id: int
name: string
var emp = Employee(id: 1, name: "john")
echo($$emp)
echo(typeOf($$emp))
输出:
{"id": 1, "name": "john"}
如何将JSON字符串转换为Nim对象
JSON字符串使用三引号语法的字符串字面量声明。 三引号用于声明字符串的长形式。
marshal模块包括一个to过程,将字符串转换为Nim对象。
这里是一个例子
import std/marshal
type
Employee = object
id: int
name: string
var emp = Employee(id: 1, name: "john")
let jsonString = """{"id": 1, "name": "eric"}"""
let nimObject = jsonString.to[:Employee]
echo(nimObject)
echo(typeOf(nimObject))
输出:
(id: 1, name: "eric")
Employee