To convert a reqwest::Response to JSON while also displaying the response text if an error occurs, you can use the following code:
use serde_json::Value;
fn main() -> Result<(), reqwest::Error> {
let response = reqwest::get("https://jsonplaceholder.typicode.com/todos/1")?;
if !response.status().is_success() {
println!("Error: {}", response.text()?);
return Ok(());
}
let json: Value = response.json()?;
println!("{:#?}", json);
Ok(())
}
In this code, we first make a GET request to the URL specified. If the response status is not successful, we print the response text and return without attempting to parse the JSON. If the response status is successful, we convert the response to JSON using the json()
method provided by the reqwest::Response
struct. Finally, we use println!()
to display the JSON in pretty-printed format.
Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss
Asked: 2023-04-30 06:26:22 +0000
Seen: 12 times
Last updated: Apr 30 '23
What is the method of focusing on a specific ESLint error message in the scripts of my package.json?
What does the error message "1 timer(s) still in the queue" indicate in an Angular/Karma unit test?
In NextAuth.js, why is the HTTP GET action not supported and resulting in an error?
What does the error message "TypeError: e.endsWith is not a function" mean in Redoc?
When trying to access the newly added S3 asset, why does it keep returning a 502 error?
What does "coxphw undefined columns selected" mean?
What does the message "error: invalid syntax (400)" indicate in alpaca trading?