C# class 用于特定 JSON / Geckoboard / Trendline 小部件
C# class for specific JSON / Geckoboard / Trendline widget
对于 Geckoboard,我想生成这样的 JSON:
{
"item": [
{
"value": "274057"
},
[
"38594",
"39957",
"35316",
"35913",
"36668",
"45660",
"41949"
]
]
}
我正在为数组前丢失的 属性 苦苦挣扎。
C# Class 看起来如何序列化到那个?
这些对于动态语言工作得很好,比如 javaScript,但在 C# 中做同样的事情并不那么容易。我在这里看到的最好的 - 整个 JSON 将映射到以下 class 结构:
public class RootItem
{
public IEnumerable<object> Item {get;set;}
}
public class ValueItem
{
public string Value {get;set;}
}
基本上接下来您将需要一个自定义序列化程序规则或参数绑定器(取决于您使用它的位置),这将采用此 JSON 并使用 RootItem.Item
集合手动填充 RootItem.Item
集合=12=] 或 IEnumerable<string>
.
将您的 json 粘贴到 json2csharp,并生成一个合适的 class 定义以在其中序列化 json:
public class RootObject
{
public List<object> item { get; set; }
}
Json item
属性 定义为包含混合数据类型(单个对象和数组)的数组,并且在 .NET 中保存这两种类型的一种可能数据类型是 object
。
对于 Geckoboard,我想生成这样的 JSON:
{
"item": [
{
"value": "274057"
},
[
"38594",
"39957",
"35316",
"35913",
"36668",
"45660",
"41949"
]
]
}
我正在为数组前丢失的 属性 苦苦挣扎。
C# Class 看起来如何序列化到那个?
这些对于动态语言工作得很好,比如 javaScript,但在 C# 中做同样的事情并不那么容易。我在这里看到的最好的 - 整个 JSON 将映射到以下 class 结构:
public class RootItem
{
public IEnumerable<object> Item {get;set;}
}
public class ValueItem
{
public string Value {get;set;}
}
基本上接下来您将需要一个自定义序列化程序规则或参数绑定器(取决于您使用它的位置),这将采用此 JSON 并使用 RootItem.Item
集合手动填充 RootItem.Item
集合=12=] 或 IEnumerable<string>
.
将您的 json 粘贴到 json2csharp,并生成一个合适的 class 定义以在其中序列化 json:
public class RootObject
{
public List<object> item { get; set; }
}
Json item
属性 定义为包含混合数据类型(单个对象和数组)的数组,并且在 .NET 中保存这两种类型的一种可能数据类型是 object
。