2个版本
0.1.1 | 2020年3月9日 |
---|---|
0.1.0 | 2020年2月23日 |
#1987 in 编码
45KB
1.5K SLoC
serde_clj
使用JNI在内存中将Rust数据结构转换为(相对)惯用的Clojure数据。
有关使用示例,请参阅 test/src/lib.rs。
示例
#[derive(Serialize)]
struct MyStruct {
number: i32,
names: Vec<String>
}
变为
{:number 3
:names ["foo" "bar"]}
注释/待办事项
- 无符号整数序列化为'下一个最大的'类型(除u64外,它变为i64),因为Java实际上不支持无符号。
- 待办事项:在必要处转换为BigInt。
- 如果您想序列化一个
Vec<u8>
,您应该使用serde_bytes进行注释或包装字段,否则您将得到一个包含java.lang.Short
的向量,这可能不是您想要的,而且效率也不高。 - 更广泛的测试。
lib.rs
:
serde_clj
使用JNI在内存中将Rust数据结构转换为(相对)惯用的Clojure数据。
有关使用示例,请参阅 test/src/lib.rs。
示例
#[derive(Serialize)]
struct MyStruct {
number: i32,
names: Vec<String>
}
变为
{:number 3
:names ["foo" "bar"]}
依赖项
~1.5–2.8MB
~44K SLoC