C# 如何在C中转换或编写此Javascript数组#

C# 如何在C中转换或编写此Javascript数组#,c#,javascript,json,list,arraylist,C#,Javascript,Json,List,Arraylist,我想用C#创建这个数组,并通过Json将其发送到javascript。 我怎么能用C写这个 这是Javascript中的数组 var aa = [{ name: 'D1', data: [ [Date.UTC(2010, 0, 12, 12, 10, 10), 1], [Date.UTC(2010, 0, 13, 18, 01, 04), 1],

我想用C#创建这个数组,并通过Json将其发送到javascript。 我怎么能用C写这个

这是Javascript中的数组

var aa =  [{
                name: 'D1',
                data: [
                [Date.UTC(2010, 0, 12, 12, 10, 10), 1],
                [Date.UTC(2010, 0, 13, 18, 01, 04), 1],
                [Date.UTC(2010, 0, 14, 14, 11, 44), 0],
                [Date.UTC(2010, 0, 15, 14, 11, 44), 1],
                [Date.UTC(2010, 0, 16, 14, 18, 44), 1],
                [Date.UTC(2010, 0, 17, 15, 11, 44), 0],
                [Date.UTC(2010, 0, 18, 16, 15, 44), 1]
             ]
            }, {
                name: 'D2',
                data: [
                [Date.UTC(2010, 0, 12), 1],
                [Date.UTC(2010, 0, 13), 0],
                [Date.UTC(2010, 0, 14), 0],
                [Date.UTC(2010, 0, 15), 0],
                [Date.UTC(2010, 0, 16), 1],
                [Date.UTC(2010, 0, 16), 0],
                [Date.UTC(2010, 0, 17), 0],
                [Date.UTC(2010, 0, 18), 0]
             ]
            }];
我试图在c#中创建相同的数组:


finallist.data应该是数组的数组:

var convertable = Finaldata.Select(f => new
{
    f.name,
    data = f.data.Select(d => new object[] { d.Date, d.value })
});

return JsonConvert.SerializeObject(convertable);
结果将等同于您的json:

[{"name":"D1","data":[
    ["2014-01-01T00:00:01",2],
    ["2014-01-01T00:00:05",1], ...

要获得想要的JSON结构,需要更改代码,以便
data
属性的每个元素都是一个对象数组:

public class finallist {
  public string name { get; set; }
  public List<object[]> data { get; set; }
}

var D1data = new List<object[]>
{ 
     new object[] { new DateTime(2014, 1, 1, 00,00,05),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,10),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,15),  0},
     new object[] { new DateTime(2014, 1, 1, 00,00,20),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,25),  3},
     new object[] { new DateTime(2014, 1, 1, 00,00,30),  2},
     new object[] { new DateTime(2014, 1, 1, 00,00,35),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,40),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,45),  3},
     new object[] { new DateTime(2014, 1, 1, 00,00,50),  1},
     new object[] { new DateTime(2014, 1, 1, 00,01,15),  2}

};

List<finallist> Finaldata = new List<finallist>();
Finaldata.Add(new finallist { name = "D1", data = D1data });
return  JsonConvert.SerializeObject(Finaldata, Formatting.Indented);
public class finallist{
公共字符串名称{get;set;}
公共列表数据{get;set;}
}
var D1data=新列表
{ 
新对象[]{new DateTime(2014,1,1,00,00,05),1},
新对象[]{new DateTime(2014,1,1,00,00,10),1},
新对象[]{new DateTime(2014,1,1,00,00,15),0},
新对象[]{new DateTime(2014,1,1,00,00,20),1},
新对象[]{new DateTime(2014,1,1,00,00,25),3},
新对象[]{new DateTime(2014,1,1,00,00,30),2},
新对象[]{new DateTime(2014,1,1,00,00,35),1},
新对象[]{new DateTime(2014,1,1,00,00,40),1},
新对象[]{new DateTime(2014,1,1,00,00,45),3},
新对象[]{new DateTime(2014,1,1,00,00,50),1},
新对象[]{new DateTime(2014,1,1,00,01,15),2}
};
List Finaldata=新列表();
Add(新的finallist{name=“D1”,data=D1data});
返回JsonConvert.SerializedObject(Finaldata,Formatting.Indented);

生成的JSON数组如何不正确?您可以添加代码生成的内容吗?如果您在Javascript中使用
Date.UTC
,您可能希望使用
DateTime
构造函数,该构造函数接受
DateTimeKind
,并指定您希望它为UTC。是的,Json数组不正确,我认为问题在于c#数组的结构!我正在尝试构建图表这是我的javascript代码!我有一个问题!日期格式为2014-01-11T00:00:00我需要它与此格式相同1263297600000!!你知道我怎么能把它改过来吗!您可以尝试以下操作:
JsonConvert.SerializeObject(Finaldata,new-JsonConverter[]{new-Newtonsoft.Json.Converters.JavaScriptDateTimeConverter()})
[{"name":"D1","data":[
    ["2014-01-01T00:00:01",2],
    ["2014-01-01T00:00:05",1], ...
public class finallist {
  public string name { get; set; }
  public List<object[]> data { get; set; }
}

var D1data = new List<object[]>
{ 
     new object[] { new DateTime(2014, 1, 1, 00,00,05),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,10),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,15),  0},
     new object[] { new DateTime(2014, 1, 1, 00,00,20),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,25),  3},
     new object[] { new DateTime(2014, 1, 1, 00,00,30),  2},
     new object[] { new DateTime(2014, 1, 1, 00,00,35),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,40),  1},
     new object[] { new DateTime(2014, 1, 1, 00,00,45),  3},
     new object[] { new DateTime(2014, 1, 1, 00,00,50),  1},
     new object[] { new DateTime(2014, 1, 1, 00,01,15),  2}

};

List<finallist> Finaldata = new List<finallist>();
Finaldata.Add(new finallist { name = "D1", data = D1data });
return  JsonConvert.SerializeObject(Finaldata, Formatting.Indented);