"message":{
"type":"text",
"text":"a message to the service",
"media":"http://example.com",
"location":{
"lat":50.76891,
"lon":6.11499
},
"tracking_data":"tracking data"
}
如何获得Json,lat和lon的children元素的值?
JToken message = data.SelectToken("message");
var lat = message.Value<double>("lat");
这显示0,而不是实际值。
答案 0 :(得分:3)
此问题的快速解决方案是以下代码。
重要的一点是,你必须尊重你的JSON输入的hirachical结构。 lat
不是直接在message
中,而是在location
对象中。
var data = JObject.Parse(@"{
""message"": {
""type"":""text"",
""text"":""a message to the service"",
""media"":""http://example.com"",
""location"": {
""lat"":50.76891,
""lon"":6.11499
},
""tracking_data"":""tracking data""
}
}");
var location = data.SelectToken("message.location");
var lat = location.Value<double>("lat");