use serde::{Deserialize, Serialize}; use serde_json::Error; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct AllConfig { #[serde(rename = "train_data")] pub train_data: TrainData, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct TrainData { #[serde(rename = "seg_dense_schema")] pub seg_dense_schema: SegDenseSchema, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct SegDenseSchema { #[serde(rename = "renamed_features")] pub renamed_features: RenamedFeatures, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct RenamedFeatures { pub continuous: String, pub binary: String, pub discrete: String, #[serde(rename = "author_embedding")] pub author_embedding: String, #[serde(rename = "user_embedding")] pub user_embedding: String, #[serde(rename = "user_eng_embedding")] pub user_eng_embedding: String, #[serde(rename = "meta__author_id")] pub meta_author_id: String, #[serde(rename = "meta__user_id")] pub meta_user_id: String, #[serde(rename = "meta__tweet_id")] pub meta_tweet_id: String, } pub fn parse(json_str: &str) -> Result { let all_config: AllConfig = serde_json::from_str(json_str)?; return std::result::Result::Ok(all_config); }