2016-06-21 13 views
1

しばらくの間、私はコードに問題があります。 jsonを使用してAPIからデータを取得しようとしていますが、jsonを解析してクラスIに送信しようとすると、空の文字列が返されます。c#json json.netクラスへの解析

JSONデータはこの

{"Wynik":{"Token":"String","DataCzasWaznosci":"\/Date(-62135596800000-0000)\/"} 

のように見える...これは私のコードです:

public void post() 
{ 
    Autoryzacja_zaloguj a_zaloguj = new Autoryzacja_zaloguj(); 
    string url = a_zaloguj.Link; 
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 


    byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(a_zaloguj.Json); 
    req.Method = "POST"; 
    req.ContentType = "application/json"; 
    req.ContentLength = requestBytes.Length; 
    Stream requestStream = req.GetRequestStream(); 
    requestStream.Write(requestBytes, 0, requestBytes.Length); 
    requestStream.Close(); 

    HttpWebResponse res = (HttpWebResponse)req.GetResponse(); 
    StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default); 

    string backstr = sr.ReadToEnd(); 
    dynamic d = JObject.Parse(backstr); 
    var wynik = d.Wynik; 
    string token = wynik.Token; 
    DateTime data = wynik.DataCzasWaznosci; 

    Wyniki wyniki = new Wyniki(); 
    wyniki.test = token; 

    sr.Close(); 
    res.Close(); 
} 

public class Wyniki 
{ 
    public string test { get; internal set; } 
} 
+0

受信しているjsonのサンプルを含めてください。 – Filburt

+0

もちろん:{"Wynik":{"トークン": "文字列"、 "DataCzasWaznosci": "\ /日付(-62135596800000-0000)\ /"} –

答えて

0

あなたは http://www.newtonsoft.com/json

public class Wynik 
{ 
    public string Token { get; set; } 
    public DateTime DataCzasWaznosci { get; set; } 
} 

/*Deserialization part */ 
string backstr = sr.ReadToEnd(); 
Wynikm = JsonConvert.DeserializeObject<Wynik>(backstr); 
を解析するこの種のNewtosoftナゲットパッケージを使用することができます
+0

は機能しません。それでもメッセージボックスに空の結果が表示されます。 –

+0

出力コンソールにエラーがありますか? – OrcusZ

+0

空のMessageBoxだけでなく、chengesの後のコードです:http://pastebin.com/uU2wHFuv –

関連する問題