Read local JSON data in Rocket.rs

Published: Jan 30, 2026

I'm crafting a dead simple Rust — Job Board.

I will be storing an array of Rust engineers inside a local .json file. Which, I then render as a list of Rust Engineers — Seeking Work.

Here is how we do this in Rocket.rs.

use std::fs;
use rocket::serde::{Deserialize, Serialize};
use rocket_dyn_templates::{Template, context};


#[derive(Deserialize, Serialize)]
#[serde(crate = "rocket::serde")]
struct RustEngineer {
    ...
}

#[get("/")]
pub async fn get() -> Template {
    // Open and read JSON file data.
    let data = fs::read_to_string("././static/json/rust_engineers.json").unwrap();

    // Serialize data into JSON.
    let rust_engineers: Vec<RustEngineer> = serde_json::from_str(&data).unwrap();

    Template::render("rust-engineers", context!{ rust_engineers })
}