(rust) ciborium!
This commit is contained in:
+1
-1
@@ -6,9 +6,9 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
chrono = { version = "0.4.41", features = ["serde"] }
|
chrono = { version = "0.4.41", features = ["serde"] }
|
||||||
|
ciborium = "0.2.2"
|
||||||
clap = { version = "4.5.0", features = ["derive"] }
|
clap = { version = "4.5.0", features = ["derive"] }
|
||||||
dirs = "5.0.1"
|
dirs = "5.0.1"
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { version = "1.0.219", features = ["derive"] }
|
||||||
serde_json = { version = "1.0.140", features = ["default"] }
|
|
||||||
thiserror = "2.0.12"
|
thiserror = "2.0.12"
|
||||||
|
|
||||||
|
|||||||
+7
-4
@@ -3,7 +3,7 @@
|
|||||||
use chrono::{DateTime, Local, Utc};
|
use chrono::{DateTime, Local, Utc};
|
||||||
use dirs::config_dir;
|
use dirs::config_dir;
|
||||||
use serde::{self, Deserialize, Serialize};
|
use serde::{self, Deserialize, Serialize};
|
||||||
use serde_json;
|
use ciborium;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
pub struct TestStruct {
|
pub struct TestStruct {
|
||||||
@@ -20,6 +20,7 @@ pub struct SubStruct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> anyhow::Result<()> {
|
fn main() -> anyhow::Result<()> {
|
||||||
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let test = TestStruct {
|
let test = TestStruct {
|
||||||
name: "ronald yellowegger".to_owned(),
|
name: "ronald yellowegger".to_owned(),
|
||||||
id: 029854u128,
|
id: 029854u128,
|
||||||
@@ -27,10 +28,12 @@ fn main() -> anyhow::Result<()> {
|
|||||||
pos: SubStruct { x: 8, y: -3 },
|
pos: SubStruct { x: 8, y: -3 },
|
||||||
};
|
};
|
||||||
|
|
||||||
let json = serde_json::to_string(&test)?;
|
_ = ciborium::into_writer(&test, &mut buffer)?;
|
||||||
|
|
||||||
println!("json = \\");
|
println!("{:02x?}", buffer);
|
||||||
println!("{}", json);
|
|
||||||
|
let cbor: TestStruct = ciborium::from_reader(std::io::Cursor::new(&mut buffer))?;
|
||||||
|
println!("deserialised cbor struct = {:#?}", cbor);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user