我試圖接收從作爲JSON這樣請求響應數據:如何從JSON獲取數據並將其轉換爲對象?
{ 「CNT」:1, 「列表」:[{ 「座標」:{ 「LON」: 18.55, 「LAT」:50.11 }, 「SYS」:{ 「類型」:1, 「ID」:5356, 「消息」:0.0095, 「國家」: 「PL」, 「日出「:1496630290, 」sunset「:1496688673 }, 」weather「:[{ 「ID」:800, 「主」: 「清除」, 「描述」: 「晴天」, 「圖標」: 「01D」 }], 「主」:{ 「TEMP」:293.71 , 「壓力」:1014, 「溼度」:42, 「temp_min」:293.15, 「temp_max」:294.15 }, 「能見度」:10000, 「風」:{ 「速度」:4.1 , 「DEG」:60 }, 「雲」:{ 「所有」:0 }, 「DT」:1496686603, 「ID」:7531758, 「名」: 「雷布尼克」 }]}
我試圖用JSON.NET反序列化JSON和接收數據。但我不知道如何正確地做到這一點。 我試圖用我的類方法來實現這一目標:
public Rootobject DeserializeJSON()
{
private JObject responseObject;
private JToken responseToken;
private JArray responseArray;
responseObject = JObject.Parse(json);
Rootobject Weather = new Rootobject();
responseArray = (JArray)responseObject.SelectToken("list");
responseToken = (JToken)responseArray.SelectToken("main");
Weather = responseToken.ToObject<Rootobject>();
return Weather;
}
,但它似乎並不工作。在這種情況下,我想收到來自「主」的屬性數據,JSON,並轉換到我的類對象:
class Main
{
public float temp { get; set; }
public float pressure { get; set; }
public float humidity { get; set; }
public float temp_min { get; set; }
public float temp_max { get; set; }
}
你能解釋我,應該如何工作以及在那裏是我的錯嗎?
這就像是一個bizillion重複問題關於這一點,更不用說json.net上的一個可愛的幫助頁面。不需要定製方法。 – MickyD
是的,你說得對。在詢問...之前,我試圖首先找到解決方案,但我沒有足夠的嘗試。對不起復制。下次我會更耐心。 –