По сути, я пытаюсь десериализовать файл JSON в хэш-карту ‹String, String›, используя ящик serde, но. Файл JSON:
"
[
{
"orchard_name": "Happy Apple",
"tons": "5"
},
{
"orchard_name": "Munch for Lunch",
"tons": "2"
}
]
"
Это моя структура:
#[derive(Serialize, Deserialize, Debug)]
struct OrangeFarm
{
map : HashMap<String,String>
}
и здесь я пытаюсь выполнить десериализацию:
let res = serde_json::from_str(_json);
if res.is_ok() {println!("Deserealization worked."); }
else { println!("it went wrong"); }
let mut deserializedFarm : OrangeFarm = res.unwrap();
По какой-то причине это сработает, если я удалю второй {}, но этого не произойдет, если я позволю второму {}, поскольку я получаю этот поток ошибок 'main', который запаниковал ', называемый Result::unwrap()
на значении Err
: Ошибка (конечные символы. Вы хоть представляете, почему это происходит? Спасибо!