Thanks to visit codestin.com
Credit goes to docs.rs

eager_json/
lib.rs

1extern crate serde;
2extern crate serde_json;
3
4use std::io;
5
6use serde::de::DeserializeOwned;
7use serde_json::{Error, Result};
8
9/// Like [`from_reader`] but eagerly reads the content of the reader to a string
10/// and delegates to `from_str`.
11///
12/// [`from_reader`]: https://docs.serde.rs/serde_json/fn.from_reader.html
13pub fn from_reader_eager<R, T>(mut reader: R) -> Result<T>
14where
15    R: io::Read,
16    T: DeserializeOwned,
17{
18    let mut s = String::new();
19    if let Err(io_err) = reader.read_to_string(&mut s) {
20        // Error::io is private to serde_json. Do not use.
21        return Err(Error::io(io_err));
22    }
23    serde_json::from_str(&s)
24}