生成数组数组

时间:2015-09-23 21:08:49

标签: javascript asp.net-mvc asp.net-web-api json.net

我有一个返回JSON的Web-API方法,我希望数组结构如下所示: [ [123, 1.1], [222, 3.9] ]

我的Web API控制器以下列格式返回JSON: [{"CreatedDate":1314736440,"Reading":20.0}, "CreatedDate":1314779640,"Reading":7.9}]

Web API控制器:

[HttpGet]
 public HttpResponseMessage AllJson()
 {
     using (var ctx = new SomeContext())
     {
         var records = ctx.DataX.ToList();
         var dtos = Mapper.Map<...>(records);
         return new HttpResponseMessage
         {
             StatusCode = HttpStatusCode.OK,
             Content = new StringContent(JsonConvert.SerializeObject(dtos), Encoding.UTF8, "application/json")
         };
     }
 }

DTO

public class DtoModel
    {
        public int CreatedDate { get; set; }
        public double Reading { get; set; }
    }

示例Javascipt:

var seriesData = [];
        $.getJSON("api/xxx/AllJson ", function (data) {
            $.each(data, function (key, val) {
                seriesData.push(val.CreatedDate.toString() + " ," + val.Reading.toString());
                console.log(val.CreatedDate + " ," + val.Reading);
            });
        });

2 个答案:

答案 0 :(得分:1)

您需要创建一个包含许多长度为2的数组的数组。

请参阅此代码:

 $.getJSON("api/xxx/AllJson")
            .done(function (data) {
                var processedJson = new Array();
                $.map(data, function (obj, i) {
                    processedJson.push([obj.CreatedDate, obj.Reading]);
                });

                FunctionToDoSomethingWithYourDataStructure(processedJson);
            });

答案 1 :(得分:0)

我认为这可能会解决您的问题.. 结构方面,这应该看起来像[[a,b],[c,d]];

DOM