c#中这个javascript对象的等价物是什么?

What is the equivalent of this javascript object in c#

本文关键字:等价物 是什么 对象 javascript      更新时间:2023-09-26

我有这个javascript(我是javascript新手所以原谅我)

var data = [
            ['fff',   10.38],
            ['ddd',       56.33],
            ['ss', 24.03],
            ['ff',    4.77],
            ['dd',     0.91]
        ];
alert(data);

对我来说,这看起来像是一个数组的数组。警告给出:

ddd,

fff, 10.38, 56.33,党卫军,24.03,ff, 4.77,, 0.91

我试图在c#模型中创建这个-我已经尝试了很多,但它似乎从来没有提供完全相同的结果。

alert('@Model.obs');

其中Model为:

//property
public object[] obs { get; set; }
//contructor
public EmployeeAbsenceChartViewModel()
{
    object[] obbs1 = new object[2];
    obbs1[0] = "rick";
    obbs1[1] = 3;
    object[] obbs2 = new object[2];
    obbs2[0] = "rick";
    obbs2[1] = 3;
    obs = new object[] { obbs1, obbs2 };
}

@Model.obs的警报结果为

系统。对象[]

这应该是相当简单的,但使用数据对象的javascript不喜欢我从模型返回的内容。我想我在某个地方错过了什么……

那么,我如何在我的c#模型中重新创建var data对象?

当你直接向View写入对象时,它会执行ToString()方法。

为了以JavaScript可以处理的格式插入数据,您需要使用JSON。

alert('@Html.Raw(JsonConvert.SerializeObject(Model.obs))');

注意JsonConvert是JSON的一部分。. NET库,可以使用NuGet获取。也许,您可以使用Json.Encode原生方法-它应该以相同的方式工作。