【问题标题】:Serialize an object using DataContractJsonSerializer使用 DataContractJsonSerializer 序列化对象
【发布时间】:2012-07-08 16:40:32
【问题描述】:

我创建了一个通用扩展方法来使用 DataContractJsonSerializer 序列化 JSON。 看起来像这样:

public static string ToJSON<T>(this T obj) where T : class
{
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
    using (MemoryStream stream = new MemoryStream())
    {
       serializer.WriteObject(stream, obj);
       return Encoding.Default.GetString(stream.ToArray());
    }
}

我需要创建一个类,当序列化为 json 时应该是这样的:

{
     "expiration": "2011-04-20T11:54:21.032Z",
     "conditions": [
        ["eq", "acl", "private"],
        ["eq", "bucket": "myas3bucket"],
        ["eq", "$key", "myfilename.jpg"],
        ["content-length-range", 0, 20971520],
        ["eq", "$redirect", "myredirecturl"],
     ]
}

这个类的属性是什么?

谢谢,

【问题讨论】:

  • 您是指attributes 还是properties?还有什么困惑,你尝试了什么?

标签: json c#-4.0 datacontractjsonserializer


【解决方案1】:

这应该可以完成工作:

DateTime expiration { get; set; }
string[][] conditions { get; set; }

您也可以将conditions 设置为List&lt;List&lt;string&gt;&gt;,或者任何IEnumerable&lt;IEnumerable&lt;string&gt;&gt;,甚至List&lt;string[]&gt; 都可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多