这是javascript代码,我想将其更改为C#代码,同样如此,b / c再次将其更改为javascript对象
data: [['2-2010',45.0],['IE', 26.8],[ 'Chrome',12.8],['Safari',8.5],['Opera',6.2],['Others', 0.7]]
实际上我正在编写一个包装器,它将使用C#语言中的值,然后通过json serialize我将代码转换为json。
我不能这样做,b / c在创建json的时候会有点像
C#
class dataArray
{
public string browserId;
public double percentRate;
}
JS 由上面的类生成,但不能用于变量浏览器的b / c和percentRate
dataArray = {browser: 'chrome', 'percentRate':30.3}
我期待这样的事情List<string,double>
,但它永远不会奏效:D
答案 0 :(得分:2)
您需要List
object
个数组来获取您正在寻找的输出。我使用JSON.net作为下面的示例代码。
class Program
{
static void Main(string[] args)
{
List<object[]> kvp = new List<object[]>()
{
new object[] {"2-2010", 45},
new object[] {"IE", 26.8},
new object[] {"Chrome", 12.8},
new object[] {"Safari", 8.5}
};
var json = JsonConvert.SerializeObject(kvp);
Console.WriteLine(json);
//deserialize it to a List<object[]>
var json2 = "[[\"2-2010\",45.0],[\"IE\", 26.8],[\"Chrome\",12.8],[\"Safari\",8.5]]";
var kvp2 = JsonConvert.DeserializeObject<List<object[]>>(json2);
}
}
答案 1 :(得分:1)
不,你最好有一个字典数组,每个字典都等于对象,它的键和值将是他的属性和值
答案 2 :(得分:0)
你可以使用看起来很像JS代码的匿名类型,但是没有关于percentRate的单个quoutes。你也可以使用元组Tuple<string, float>
,它基本上是一对值。多维或锯齿状数组是另一种选择。