【问题标题】:MVC 3 Generate - dash properties for JSONMVC 3 Generate - JSON 的破折号属性
【发布时间】:2012-05-29 07:30:26
【问题描述】:

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

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

谢谢。

【问题讨论】:

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


【解决方案1】:

将此用作属性的属性:

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

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

【讨论】:

  • System.Runtime.Serialization.Json 似乎没有 Datamember 属性
  • System.Runtime.Serialization 命名空间中的DataMember。和 System.Runtime.Serialization.Json 中的 DataContractJsonSerializer。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-12-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多