Expand description
§JsonBank SDK for Rust
Links: github | crates.io | docs.rs
§Initialization
The JsonBank struct can be initialized with or without api keys. Api Keys are only required when you want to access protected/private documents.
§Without Api Keys
Using this json file from jsonbank
use jsonbank::{JsonBank, JsonValue};
fn main() {
let jsb = JsonBank::new_without_config();
// get public content
let data: JsonValue = jsb.get_content("jsonbank/sdk-test/index").unwrap();
assert_eq!(data["author"], "jsonbank")
}
§With Api Keys
To get your api keys, visit jsonbank.io and create an account.
use jsonbank::{JsonBank, InitConfig, Keys};
fn main() {
let mut jsb = JsonBank::new(InitConfig {
host: None, // use default host
keys: Some(Keys {
public: Some("Your public key".to_string()),
private: Some("Your private key".to_string()),
}),
});
// authenticate the api keys (optional)
if !jsb.authenticate().is_ok() {
panic!("Authentication failed");
}
}
§Usage
Basic examples to get you started.
Using these json files:
- Object Json File
- Array Json File (From github)
use jsonbank::{JsonBank, JsonValue, JsonObject, JsonArray};
fn main() {
/// initialize jsonbank
let jsb = JsonBank::new_without_config();
/// Get json object
let data: JsonObject = jsb.get_content("jsonbank/sdk-test/index.json").unwrap();
assert_eq!(data["author"], "jsonbank");
/// Get json array
let data: JsonArray = jsb.get_github_content("jsonbankio/documentation/github-test-array.json").unwrap();
assert_eq!(data[0], 1);
assert_eq!(data[1], "MultiType Array");
assert_eq!(data[2].as_object().unwrap()["name"], "github-test-array.json");
/// Get json value (when you don't know the exact type)
let data: JsonValue = jsb.get_content("jsonbank/sdk-test/index.json").unwrap();
if data.is_object() {
assert_eq!(data["author"], "jsonbank");
} else {
panic!("Expected json object");
}
}
§Extra Info
The struct JsonBank is well documented, so you can check the docs for more info.
Modules§
- Package error module
- Package structs
Structs§
- The configuration struct
- Minimal Config struct needed to initialize.
- JsonBank SDK Instance
- Holds the public and private keys
Constants§
- The default host
- The keyword
jsonbank
- The keyword
jsonbankio
Type Aliases§
- An alias for
Vec<JsonValue>
- An alias for
HashMap<String, JsonValue>
- An alias for
serde_json::Value