I am completely new to Rust coming from JS/TS
I have already seen other questions like: How do I iterate over elements of a struct in Rust? but they didn't get me to a real answer.
I am trying to iterate over the keys and values of a struct in rust
In JS/TS this would work like this:
const o = {
a: "hello",
b: "world"
};
const keys = Object.keys(o);
const values = Object.values(o);
// now loop over them
How would something like this work in Rust?
I am using Serde to parse a config yaml file to a struct.
#[derive(Deserialize, Debug, Clone)]
pub struct Config {
pub headers: Headers,
}
#[derive(Deserialize, Debug, Clone)]
pub struct Headers {
#[serde(rename = "Content-Security-Policy")]
pub content_security_policy: String,
#[serde(rename = "x-frame-options")]
pub x_frame_options: String,
#[serde(rename = "x-content-type-options")]
pub x_content_type_options: String,
#[serde(rename = "x-permitted-cross-domain-policies")]
pub x_permitted_cross_domain_policies: String,
#[serde(rename = "x-download-options")]
pub x_download_options: String,
#[serde(rename = "x-xss-protection")]
pub x_xss_protection: String,
#[serde(rename = "referrer-policy")]
pub referrer_policy: String,
#[serde(rename = "Strict-Transport-Security")]
pub strict_transport_security: String,
#[serde(rename = "feature-policy")]
pub feature_policy: String,
#[serde(rename = "Cache-Control")]
pub cache_control: String,
}
But this does not implement the .iter()
function and i haven't found a solution searching for this.
HashMap<String, String>
. See here. – Ransdell