Asp.net mvc 3 MVC 3生成JSON的破折号属性

Asp.net mvc 3 MVC 3生成JSON的破折号属性,asp.net-mvc-3,c#-3.0,Asp.net Mvc 3,C# 3.0,我需要使用ASP.NET MVC 3.0或更高版本生成一个JSON对象,如下所示。除了一些属性有“破折号”外,其他都很好,例如scale-x。C#不喜欢这样, 有办法解决这个问题吗 { "Data" : [ { "scale-x":{ "values":["1","2"], }, "scale-y":{ "line-width":"1px

我需要使用ASP.NET MVC 3.0或更高版本生成一个JSON对象,如下所示。除了一些属性有“破折号”外,其他都很好,例如scale-x。C#不喜欢这样, 有办法解决这个问题吗

{
    "Data" : [
        {
            "scale-x":{
                "values":["1","2"],
            },
            "scale-y":{
                "line-width":"1px",
                }
            },
            "series" : [
                {
                    "values" : [2, 5]
                }
            ]
        }
    ]
}

谢谢。

将此属性用作属性:

[DataMember(Name = "scale-x")] 

您还必须在System.Runtime.Serialization.Json中使用序列化程序。
请看。

匿名类型上不能使用属性,最好将代理对象定义为您自己的类型并与序列化程序一起使用,然后使用上面的答案。

您可以使用 一个很好的例子


System.Runtime.Serialization.Json的可能副本在System.Runtime.Serialization命名空间中似乎没有Datamember attributeDataMember。和System.Runtime.Serialization.Json中的DataContractJsonSerializer。
var person = New.Person();
person["FirstName"] = "Louis";
person["LastName"] = "Dejardin";