如何使用Newtonsoft从url读取字符串?

时间:2017-07-19 14:10:24

标签: c# json json.net

我有这个代码

var request = Telegram;
var client = new WebClient();
var result = client.DownloadString(request);

var json = JObject.Parse(result);
var status = json["ok"];
if ((status != null && status.ToString() == "false"))
{
     throw new Exception(json.ToString());
}
json.GetValue("message_id");

return (json["result"]["message_id"].Value<String>("value"));

但是我得到错误,我怎么能从Json返回message_id?

我的json是:

{"ok":true,"result":{"message_id":84,........

2 个答案:

答案 0 :(得分:3)

您可以使用SelectToken方法。

  

SelectToken是JToken上的一个方法,它采用字符串路径指向子令牌。如果在路径的位置找不到令牌,则SelectToken将返回子令牌或空引用。

var json = "{\"ok\":true,\"result\":{ \"message_id\":84 }}";
var obj = JObject.Parse(json);
var value = obj.SelectToken("result.message_id").Value<int>();

答案 1 :(得分:0)

您不必将字符串参数传递给Value<string>("value")的调用以获取值。简单致电Value<int>()