使用JSON作为内容处理结果类型

时间:2015-12-18 11:51:54

标签: api rust twitch

这是对Why do I get a list of numbers instead of JSON when using the Twitch API via Rust?问题的跟进。如果我使用上一篇文章中建议的解决方案:

  

使用response.get_body()方法获取可以使用Result方法转换为from_utf8()的字节数列表。

这会返回一个Result,其中包含所有内容。我不确定如何操纵它。我希望我能像阵列一样使用它,但docsrustbyexample似乎并没有解释它。 Result类型的目的是什么?

This is the exact response我将其转换为UTF-8后从身体中获取。

1 个答案:

答案 0 :(得分:2)

Result类型在这里没有帮助 - 它只存储任意数据并用于错误处理(而不是异常)。但您可以使用rustc_serialize包来解析Result返回的字符串:

extern crate rustc_serialize;
use rustc_serialize::json::Json;

fn main() {
    let response_result = /* ... */;
    let data = response_result.unwrap();
    let json = Json::from_str(&data).unwrap();
    println!("{}", json.find("status").unwrap());
}