Function dofigen_lib::from_json
source · pub fn from_json(input: String) -> Result<Image>👎Deprecated since 1.2.0: The YAML reader can read both JSON and YAML. Should use ‘from’
Expand description
Parse an Image from a JSON string.
§Examples
Basic YAML parsing
use dofigen_lib::{from_json, Image};
let json = r#"{ "image": "scratch" }"#;
let image: Image = from_json(json.to_string()).unwrap();
assert_eq!(
image,
Image {
image: String::from("scratch"),
..Default::default()
}
);Basic YAML parsing
use dofigen_lib::{from_json, Image, Builder, Artifact};
let json = r#"
{
"builders": [
{
"name": "builder",
"image": "ekidd/rust-musl-builder",
"adds": [
"*"
],
"script": [
"cargo build --release"
]
}
],
"image": "scratch",
"artifacts": [
{
"builder": "builder",
"source": "/home/rust/src/target/x86_64-unknown-linux-musl/release/template-rust",
"destination": "/app"
}
]
}"#;
let image: Image = from_json(json.to_string()).unwrap();
assert_eq!(
image,
Image {
builders: Some(Vec::from([Builder {
name: Some(String::from("builder")),
image: String::from("ekidd/rust-musl-builder"),
adds: Some(Vec::from([String::from("*")])),
script: Some(Vec::from([String::from("cargo build --release")])),
..Default::default()
}])),
image: String::from("scratch"),
artifacts: Some(Vec::from([Artifact {
builder: String::from("builder"),
source: String::from(
"/home/rust/src/target/x86_64-unknown-linux-musl/release/template-rust"
),
destination: String::from("/app"),
..Default::default()
}])),
..Default::default()
}
);