ASP.NET MVC4 Web API Controller should return json result which contains numeric propery names and values like
{ "openTimes":{"1":"09:00","2":"09:15","3":"09:30" }}
Propery names start with 1 . Number of properties and propery values are created in code.
How to return such result ?
I tried
class output { [Newtonsoft.Json.JsonProperty("1")] public string prop1 { get; set; } [Newtonsoft.Json.JsonProperty("2")] public string prop2 { get; set; } [Newtonsoft.Json.JsonProperty("3")] public string prop3 { get; set; } }
public HttpResponseMessage Post() { return Request.CreateResponse(HttpStatusCode.OK, new { openTimes = new output() { prop1 = "09:00", prop2 = "09:15", prop3 = "09:30" } }); }
but in this code number of elements in list is hard coded. How to return variable-length list ?
as your keys are not legal in .net, use the jsontextwriter.
prepare the dictionary<string,object> object and add all your properties as keys and values as values
convert dictionary to json and send to client
http://stackoverflow.com/questions/22105722/serialize-an-object-w-dictionary-to-json
then at client, you can read json data in jquery like this
$.each( obj, function( key, value ) { alert( key + ": " + value ); });