0.2.0 |
|
---|---|
0.1.0 |
|
#40 in #serialize
4KB
JSONify
A simple library to convert structs to JSON.
Quick Example
#[macro_use] extern crate jsonify;
use jsonify::Serializable;
struct Foo {
bar: String,
baz: i32
}
impl Serializable for Foo {
fn serialize(&self) -> String {
json!(
bar => self.bar,
baz => self.baz
)
}
}
fn main() {
let foo = Foo { bar: "Hello!".to_string(), baz: 30 };
println!("{}", foo.serialize()); // Output: {"bar": "Hello!", "baz": 30}
}
What is going on here?
Import JSONify and Serializable trait
#[macro_use] extern crate jsonify;
use jsonify::Serializable;
Create struct Foo
struct Foo {
bar: String,
baz: i32
}
Implement Serializable
trait
impl Serializable for Foo {
fn serialize(&self) -> String {
// ...
}
}
Calls json! macro to create JSON string
/*
Usage:
json!(
key => value,
key2 => value2
)
*/
json!(
bar => self.bar,
baz => self.baz
)
Create instance of Foo
and serialize it
fn main() {
let foo = Foo { bar: "Hello!".to_string(), baz: 30 };
println!("{}", foo.serialize()); // Output: {"bar": "Hello!", "baz": 30}
}