2017-01-11 30 views
0

我有代碼,使一個URL調用的API。現在我被卡住了,我需要將JSON響應寫入T-SQL。我相信我必須將響應解析到C#對象中。使streamreader json文件對象c#

該響應包含我的課lastKnownPosition中包含的信息。

using Newtonsoft.Json; 
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Text; 
using System.Threading.Tasks; 

namespace apicall 
{ 
public class Program 
{ 
    public static void Main(string[] args) 
    { 
     WebRequest request = WebRequest.Create("https://xxx/ion.json"); 
     request.Method = "GET"; 
     request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("xxxxx:xxxxxx")); 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     Console.WriteLine(response.StatusDescription); 
     Stream dataStream = response.GetResponseStream(); 
     // Open the stream using a StreamReader for easy access. 
     StreamReader reader = new StreamReader(dataStream); 

     // Read the content.    
     string responseFromServer = reader.ReadToEnd();    

     var myUser = JsonConvert.DeserializeObject(responseFromServer); 

     // Display the content. 
     //Console.WriteLine(responseFromServer); 
     Console.WriteLine(myUser); 
     // Cleanup the streams and the response. 
     reader.Close(); 
     dataStream.Close(); 
     response.Close(); 
     Console.ReadLine(); 
    } 
} 

class lastKnownPosition 
{ 
    public string Desription { get; set; } 
    public string UnitId { get; set; } 
    public DateTime Localtimestamp { get; set; } 
    public float latitude { get; set; } 
    public float longitude { get; set; } 
    public string id { get; set; } 
} 
} 
+0

你是什麼' myUser'變量?你想把它解析爲什麼? – krillgar

回答

0

解析你必須設置你想要哪個對象的特定對象,下一個嘗試:

var myUser = JsonConvert.DeserializeObject<lastKnownPosition>(responseFromServer); 

編輯,如果包含不止一個

var myUserList = JsonConvert.DeserializeObject<list<lastKnownPosition>>(responseFromServer);