我有这个代码
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,........
答案 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>()