## parse string to toml data ```rust { let cargotoml = tsu::tomlfromstr(r#" [package] name = "usefulmacro" version = "0.2.6"
[dependencies]
serde = "1.0"
[dev-dependencies]
serde_derive = "1.0"
serde_json = "1.0"
"#);
let package = cargo_toml.get("package").unwrap();
let name = package.get("name").unwrap();
println!("{:#?}", &package);
println!("{:#?}", &name);
let dependencies = cargo_toml.get("dependencies").unwrap();
println!("{:#?}", &dependencies);
let dev_dependencies = cargo_toml.get("dev-dependencies").unwrap();
println!("{:#?}", &dev_dependencies);
} ```
## convert struct to toml string ``` [package] name = "demo" version = "0.1.0" edition = "2021"
[dependencies]
tsu = "0.1.8"
serde = "1.0.137"
serdederive = "1.0.137"
rust
{
use serdederive::Serialize;
#[derive(Serialize)]
struct Human {
name: String,
age: u8,
country: Country,
}
#[derive(Serialize)]
struct Country {
name: String,
}
let user = Human {
name: "mike".tostring(),
age: 18,
country: Country {
name: "countryname".tostring(),
},
};
let toml = tsu::totomlstr(&user);
std::fs::write("./demo.toml", toml.asstr()).unwrap();
println!("{}",toml.as_str());
}
```
rust
{
let cargo_toml = tsu::toml_from_path("./Cargo.toml");
let dependencies = cargo_toml.get("dependencies").unwrap();
println!("{:#?}", &dependencies);
}
## converttomltojson used to convert toml to json ```rust { let tomldata = r#" [package] name = "package_name" version = "0.3.0"
[dependencies]
serde = "1.0"
[dev-dependencies]
serde_derive = "1.0"
serde_json = "1.0"
"#;
let json = convert_toml_to_json(toml_data).unwrap();
assert_eq!("{\n \"dependencies\": {\n \"serde\": \"1.0\"\n },\n \"dev-dependencies\": {\n \"serde_derive\": \"1.0\",\n \"serde_json\": \"1.0\"\n },\n \"package\": {\n \"name\": \"package_name\",\n \"version\": \"0.3.0\"\n }\n}",json);
} ```
rust
{
let json_data= r#"
{
"data":{
"version":"0.12.0",
"category":"rust"
}
}
"#;
let toml = convert_json_to_toml(&json_data).unwrap();
assert_eq!("[data]\nversion = '0.12.0'\ncategory = 'rust'\n",toml);
}