(rust) quick serde/json tryout
This commit is contained in:
+3
-2
@@ -5,9 +5,10 @@ edition = "2021"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
chrono = "0.4.41"
|
chrono = { version = "0.4.41", features = ["serde"] }
|
||||||
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_json = { version = "1.0.140", features = ["default"] }
|
||||||
thiserror = "2.0.12"
|
thiserror = "2.0.12"
|
||||||
tokio = { version = "1.42.0", features = ["full", "rt"] }
|
|
||||||
|
|
||||||
|
|||||||
+27
-15
@@ -1,24 +1,36 @@
|
|||||||
#![allow(dead_code, unused)]
|
#![allow(dead_code, unused)]
|
||||||
|
|
||||||
use chrono::{DateTime, Local};
|
use chrono::{DateTime, Local, Utc};
|
||||||
use tokio::{
|
|
||||||
fs,
|
|
||||||
};
|
|
||||||
use dirs::config_dir;
|
use dirs::config_dir;
|
||||||
|
use serde::{self, Deserialize, Serialize};
|
||||||
|
use serde_json;
|
||||||
|
|
||||||
const BLOCK_SIZE: usize = 1024;
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
const TIMEOUT_LIMIT: usize = 32;
|
pub struct TestStruct {
|
||||||
|
name: String,
|
||||||
|
id: u128,
|
||||||
|
time: DateTime<Utc>,
|
||||||
|
pos: SubStruct,
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
async fn main() -> anyhow::Result<()> {
|
pub struct SubStruct {
|
||||||
let mut interfaces = fs::read_dir("/sys/class/net").await?;
|
x: i32,
|
||||||
|
y: i32,
|
||||||
|
}
|
||||||
|
|
||||||
while let Ok(Some(interface)) = interfaces.next_entry().await {
|
fn main() -> anyhow::Result<()> {
|
||||||
let if_name = interface.file_name().into_string().unwrap();
|
let test = TestStruct {
|
||||||
if !(if_name == "lo") && !if_name.contains("loop") {
|
name: "ronald yellowegger".to_owned(),
|
||||||
println!("name: {}", if_name);
|
id: 029854u128,
|
||||||
}
|
time: chrono::Utc::now(),
|
||||||
}
|
pos: SubStruct { x: 8, y: -3 },
|
||||||
|
};
|
||||||
|
|
||||||
|
let json = serde_json::to_string(&test)?;
|
||||||
|
|
||||||
|
println!("json = \\");
|
||||||
|
println!("{}", json);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user