C# 使用c在json中创建数组数据#
我正在尝试创建以下JSON数据:C# 使用c在json中创建数组数据#,c#,asp.net,json,asp.net-mvc,C#,Asp.net,Json,Asp.net Mvc,我正在尝试创建以下JSON数据: var data = [[1, 27], [2, 34], [3, 51], [4, 48], [5, 55], [6, 65], [7, 61], [8, 70], [9, 65], [10, 75], [11, 57], [12, 59], [13, 62]]; 我已经尝试过手动使用字符串生成器,但我知道这不是一个好的解决方案,然后我创建了一些类似这样的合并 var bldgNum = new int[] { 1, 2, 5 };
var data = [[1, 27], [2, 34], [3, 51], [4, 48], [5, 55], [6, 65], [7,
61], [8, 70], [9, 65], [10, 75], [11, 57], [12, 59], [13, 62]];
我已经尝试过手动使用字符串生成器,但我知道这不是一个好的解决方案,然后我创建了一些类似这样的合并
var bldgNum = new int[] { 1, 2, 5 };
var flatNum = new int[] { 27, 109, 25, 200 };
var address = bldgNum
.Zip(flatNum, (bl, fl) => "[" + bl + ", " + fl.ToString() + "]");
也许任何人都有更好的解决方案。您可以创建一个数组数组,并使用
JavaScriptSerializer
生成字符串:
// This creates an array of two-element arrays:
var address = bldgNum
.Zip(flatNum, (bl, fl) => new[] {bl, fl})
.ToArray();
// This produces a JSON string that corresponds to your array-of-arrays:
var jss = new JavaScriptSerializer();
var str = jss.Serialize(address);
您还可以使用Newtonsoft.Json库(您可以从NuGet获得它)。以你为例,这样的事情应该能解决你的问题
var result = new List<int[]> {new[] {1, 27}, new[] {2, 34}, new int[] {3, 51}};
var json = Newtonsoft.Json.JsonConvert.SerializeObject(result);
var result=newlist{new[]{1,27},new[]{2,34},new int[]{3,51};
var json=Newtonsoft.json.JsonConvert.SerializeObject(结果);
nice可能重复的可能重复,感谢您的启发,所以基本上我的解决方案是创建一个数组,比如说数组a和数组b,然后创建一个由两个元素数组组成的数组,就像您在答案中写的那样,然后我不在JavaScriptSerializer()中转换,而是在JsonConvert.SerializeObject(address)中转换@awancilik没错,JsonConvert
也非常有效。