feat(wpcarro/rust): Show 1/3 json examples

See json/src/main.rs

Change-Id: I83ee6b762b741a05932832a9a87eb8161bb95d0f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5896
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This commit is contained in:
William Carroll 2022-06-26 17:59:34 -07:00 committed by clbot
parent 95f302f95d
commit 8e9bfaba47
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,7 @@
[package]
name = "rust"
version = "0.1.0"
edition = "2021"
[dependencies]
serde_json = "1.0.81"

View file

@ -0,0 +1,37 @@
use serde_json::json;
// From the serde_json docs:
//
// > There are three common ways that you might find yourself needing to work with
// > JSON data in Rust.
// >
// > 1. As text data. An unprocessed string of JSON data that you receive on an
// > HTTP endpoint, read from a file, or prepare to send to a remote server.
// > 2. As an untyped or loosely typed representation. Maybe you want to check
// > that some JSON data is valid before passing it on, but without knowing
// > the structure of what it contains. Or you want to do very basic
// > manipulations like insert a key in a particular spot.
// > 3. As a strongly typed Rust data structure. When you expect all or most of
// > your data to conform to a particular structure and want to get real work
// > done without JSONs loosey-goosey nature tripping you up.
//
// So let's take a look at all three...
// 1) Reading/writing from/to plain text.
// TL;DR:
// - read: serde_json::from_str(data)
// - write: x.to_string()
fn one() {
let data = json!({
"fname": "William",
"lname": "Carroll",
"age": 30,
})
.to_string();
println!("result: {:?}", data);
}
fn main() {
one()
}