MVC 3 Generate - JSON的破折号属性

时间:2012-05-29 07:30:26

标签: asp.net-mvc-3 c#-3.0

我需要使用ASP.NET MVC 3.0或更高版本生成如下的JSON对象。一切都很好,除了一些属性 - '破折号',例如规模-X。 C#不喜欢这个, 有没有办法解决这个问题?

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

感谢。

3 个答案:

答案 0 :(得分:0)

将此作为属性的属性:

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

此外,您必须在System.Runtime.Serialization.Json中使用序列化程序。 请看this

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用ClaySharp 一个很好的例子by Hanselman is here

var person = New.Person();
person["FirstName"] = "Louis";
person["LastName"] = "Dejardin";