2016-06-21 85 views
1

我有一段时间的代码有问题。 尝试使用json从API中检索数据,但试图解析json并将其发送到类时,我收到空字符串。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”:{“Token”:“String”,“DataCzasWaznosci”:“\/Date(-62135596800000-0000)\ /”} –

回答

0

你可以使用Newtosoft金块包这种解析 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); 
+0

它不起作用。仍然在Messagebox中产生空的结果。 –

+0

您的输出控制台中是否有任何错误? – OrcusZ

+0

不只是空的Messagebox,这是我的代码之后chenges:http://pastebin.com/uU2wHFuv –