概要 serde_jsonではパースエラー発生時にどのプロパティでエラーが発生したのかわからない 解決策 serde_path_to_errorを使う。 参考: https://github.com/serde-rs/json/issues/173#issuecomment-451789006 コード例 Before let result = serde_json::from_str::<JsonStruct>(&json); After let jd = &mut serde_json::Deserializer::from_str(&json);let result: std::result::Result<JsonStruct, _> = serde_path_to_error::deserialize(jd); 実行例 Before Failed to parse json: invalid type: integer `880`, expected a string at line 1 column 1572 このようにどこがエラーなのか非常にわかりづらかったのが… After Failed to parse json: [0].price: invalid type: integer `880`, expected a string at line 1 column 1572 エラー箇所が出てとても便利になりましたXXでシェア