1

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

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

我正在为数组之前缺少的属性而苦苦挣扎。

C# 类必须如何序列化?

4

2 回答 2

1

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

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

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

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

于 2015-04-03T13:06:06.117 回答
0

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

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

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

于 2015-04-03T13:12:24.217 回答