aboutsummaryrefslogtreecommitdiff
path: root/examples/json.rs
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2020-09-27 12:35:24 -0400
committerGitHub <noreply@github.com>2020-09-27 12:35:24 -0400
commitf106c2c9d23c9c12a88b5a73f704f4be5c455926 (patch)
tree6b3888c1bcf2f8c379acbc897bab7f3fa7b9c8ca /examples/json.rs
parente460ebdcbee67224a3f9872b0a59e6f2733b6861 (diff)
downloadxesite-f106c2c9d23c9c12a88b5a73f704f4be5c455926.tar.xz
xesite-f106c2c9d23c9c12a88b5a73f704f4be5c455926.zip
go-stdlib-rust post (#215)
Diffstat (limited to 'examples/json.rs')
-rw-r--r--examples/json.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/json.rs b/examples/json.rs
new file mode 100644
index 0000000..bf128ed
--- /dev/null
+++ b/examples/json.rs
@@ -0,0 +1,32 @@
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, Deserialize, Serialize)]
+pub struct Author {
+ pub id: i32,
+ pub name: String,
+}
+
+#[derive(Clone, Debug, Deserialize, Serialize)]
+pub struct Comment {
+ pub id: i32,
+ pub author: Author,
+ pub body: String,
+ pub in_reply_to: i32,
+}
+
+fn main() {
+ let data = r#"
+ {
+ "id": 31337,
+ "author": {
+ "id": 420,
+ "name": "Cadey"
+ },
+ "body": "hahaha its is an laughter image",
+ "in_reply_to": 31335
+ }
+ "#;
+
+ let c: Comment = serde_json::from_str(data).expect("json to parse");
+ println!("comment: {:#?}", c);
+}