1 个不稳定版本
| 0.1.0 | 2019年10月2日 | 
|---|
#366 在 无标准库
53KB
 2K  SLoC
serde-json-core
serde-json用于no_std程序
文档
许可
许可协议为以下之一
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据Apache-2.0许可协议定义,您提交的任何有意包含在作品中的贡献,都将根据上述协议双重许可,不附加任何额外条款或条件。
lib.rs:
serde-json 用于 no_std 程序
此版本的 serde-json 针对运行在资源受限设备上的应用程序。
当前功能
- 错误类型是一个类似于C的枚举(更少的开销,更小的内存占用)
- 序列化和反序列化不需要内存分配
- 整数反序列化不经过 u64;而是直接将字符串解析为请求的整数类型。这避免了在针对非64位架构时引入KB级的编译器内建函数。
- 支持反序列化- 布尔值
- 整数
- str(这是一个零拷贝操作。)(*)
- 可选
- 数组
- 元组
- 结构体
- 类似于C的枚举
 
- 支持序列化(仅紧凑格式)- 布尔值
- 整数
- 字符串(**)
- 可选
- 数组
- 元组
- 结构体
- 类似于C的枚举
 
(*) 字符串反序列化忽略转义序列。未来可能会通过使用不同的序列化器来支持转义序列,因为此操作不是零拷贝。
(**) 字符串序列化不进行转义。这尚未实现。
计划中的功能
- 当 core::io::{Read,Write}成为一个东西时,从/到IO对象的序列化/反序列化。
非特性
这明显超出了范围
- 任何涉及动态内存分配的内容- 比如动态的 Value类型
 
- 比如动态的 
MSRV
该crate保证在稳定版Rust 1.31.0及更高版本上编译。它可能在较旧版本上编译,但这可能在任何新的补丁版本中发生变化。
依赖项
~0.8–1.1MB
~24K SLoC