Как ответить на json в стандартном формате с помощью C#
Здравствуйте, я работаю с веб-сервисами и отвечаю на результат в веб-методе в формате json. здесь я хотел формат json как показано ниже
{"Response":{"Status":"Success","Data":[{"StudentName":"Student Name","ClassName":"Class Name","DivisionName":"Div Name"}]}}
но мой вывод отображается следующим образом
{"Response":[{"Status":"Success","Data":{"StudentName":"Student Name","ClassName":"Class Name","DivisionName":"Class Name"}}]}
пожалуйста, помогите мне отобразить его в стандартном формате.
Что я уже пробовал:
это мой код.
struct ReturnValues { public string Status; public object Data; } public class Login { public string StudentName { get; set; } public string ClassName { get; set; } public string DivisionName { get; set; } } [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public void Login(string UserName, string Password) { var ResultResponse = new Dictionary<string, ReturnValues[]>(); ResultResponse.Add("Status", new ReturnValues[1]); if (username == "" && Password == "") { Login stud = new Login(); stud.StudentName = "Student Name"; stud.ClassName = "Class Name"; stud.DivisionName = "Div Name"; ResultResponse["Response"][0] = new ReturnValues { Status = "Success", Data = stud }; } else { ResultResponse["Response"][0] = new ReturnValues { Status = "Fail", Data = "Invalid UserName Or Password" }; } JavaScriptSerializer js = new JavaScriptSerializer(); Context.Response.Write(js.Serialize(ResultResponse)); }
Richard MacCutchan
Вы объявили свой элемент ответа как словарь, так что он отображается (правильно) как массив в сериализованном JSON.