2014-09-25 3 views
0

Я использую этот кодjson response in in правильно?

public static string myjson(bool a) 
    { 
     if (a == true) 
     { 
      RootObject o = new RootObject(); 

      o.success = "true"; 
      o.firstname = "anurag"; 
      o.usertype = "admin"; 
      o.userid = "123"; 
      JavaScriptSerializer serializer = new JavaScriptSerializer(); 
      string d=serializer.Serialize(o); 
      return d; 

     } 
     else 
     { 
      errormessage o = new errormessage(); 

       o.success = "false"; 
      o.message = "invalid username or password"; 
      JavaScriptSerializer serializer = new JavaScriptSerializer(); 
      string p=serializer.Serialize(o); 
      return p.ToString(); 


     } 
    } 

когда я разместить свой веб-сервис на IIS и сверх этой услуги я получаю ответ

 {"checkuserResult":" {\"success\":\"true\",\"firstname\":\"anurag\",\"userid\":\"123\",\"usertype\":\"admin\"}"} 

то, что я хочу, как вернуться только в ответ JSON

 {"success":"true","firstname":"anurag","userid":"123","usertype":"admin"} 

, пожалуйста, помогите?

+0

Похоже, что вам не хватает кода, в котором ваша строка json возвращается клиенту. Вероятно, ошибка. –

+0

@ user3771185 \ "Они экранируют символы. Если вы просматриваете в режиме отладки, то оно отображается как., Но выход действителен json., –

+0

@ user3771185 Измените' OperationStyle = WebMessageBodyStyle.Bare' в операционном контракте - WCF –

ответ

0

Советую вам использовать JSON.Net.Far лучше, чем JavascriptSerializer, и вы можете очень сильно контролировать поведение.

Установить NuGet первый:

Install-Package Newtonsoft.Json

А затем вызвать

вар = JsonConvert.SerializeObject JSON (о);