2014-02-03 4 views
5

Я работаю над проектом, в котором я отправляю данные из веб-формы asp.net в службу WCF. Я отправляю данные через параметры, и служба отвечает мне JSON string. Теперь у меня есть проблема в десериализации. Я прочитал много потоков, но не нашел никакого решения. Надеюсь, кто-то может разобраться в моей проблеме. Спасибо заранееКак десериализовать JSON

Ответ WCF

{ "LoginResult" ложь}

Я просто хочу "false" значение.

Как я пытался:

string URL = "http://localhost:32319/ServiceEmployeeLogin.svc"; 
    WebRequest wrGETURL; 
    wrGETURL = WebRequest.Create(URL+"/"+emp_username+"/"+emp_password+"/"+emp_type); 
    wrGETURL.Method = "POST"; 
    wrGETURL.ContentType = @"application/json; charset=utf-8"; 
    HttpWebResponse webresponse = wrGETURL.GetResponse() as HttpWebResponse; 

    Encoding enc = System.Text.Encoding.GetEncoding("utf-8"); 
    // read response stream from response object 
    StreamReader loResponseStream = new StreamReader(webresponse.GetResponseStream(), enc); 

    // read string from stream data 
    strResult = loResponseStream.ReadToEnd(); 

    var jObj = JObject.Parse(strResult); 
    var dict = jObj["LoginResult"].Children().Cast<JProperty>(); 

ответ

6

Вы можете использовать Json.NET, чтобы сделать это следующим образом:

public class AuthResponse { 
    public bool LoginResult { get; set; } 
} 

var deserializedResponse = JsonConvert.DeserializeObject<AuthResponse>(strResult); 

http://james.newtonking.com/json

+0

Bingo Благодаря @hutchonoid –

+1

также увидеть http://json2csharp.com/ одним и тем же парнем – RoughPlace

Смежные вопросы