特定JSON / Geckoboard / Trendline小部件的C#类

时间:2015-04-03 12:58:57

标签: c# json serialization asp.net-web-api geckoboard

对于Geckoboard,我想生成一个像这样的JSON:

{
"item": [
    {
      "value": "274057"
    },
    [
      "38594",
      "39957",
      "35316",
      "35913",
      "36668",
      "45660",
      "41949"
    ]
  ]
}

我正在努力解决数组之前缺少的属性。

C#类必须如何序列化?

2 个答案:

答案 0 :(得分:1)

这些适用于动态语言,如javaScript,但在C#中做同样的事情并不容易。我能在这里看到最好的 - 整个JSON将映射到以下类结构:

public class RootItem
{
    public IEnumerable<object> Item {get;set;}
}

public class ValueItem 
{
    public string Value {get;set;}
}

基本上接下来你将需要一个自定义序列化程序规则或参数绑定器(取决于你使用它的位置),这将采用此JSON并手动填充RootItem.Item集合ValueItem或{ {1}}。

答案 1 :(得分:0)

将你的json粘贴到json2csharp,并生成一个合适的类定义,用于序列化那里的json:

public class RootObject
{
    public List<object> item { get; set; }
}

Json item属性定义为包含混合数据类型(单个对象和数组)的数组,并且在.NET中保存这两种类型的一种可能数据类型是object