【问题标题】:How to deserialize date in JSON string如何反序列化 JSON 字符串中的日期
【发布时间】:2011-09-12 09:54:04
【问题描述】:

我正在尝试反序列化以下 JSON 字符串:

{
    "id":"4711363275",
    "owner":"51262181@N07",
    "datetaken":"2010-06-10 11:34:35",
    "ownername":"tlamy",
    "latitude":48.85959,
    "longitude":2.291872
}

以下是 F# 代码:

[<DataContract>]
type photo = {
        [<field: DataMember(Name = "id")>]
        photo_id:int64
        [<field: DataMember(Name = "owner")>]
        owner:string
        [<field: DataMember(Name = "datetaken")>]
        datetaken:DateTime
        [<field: DataMember(Name = "latitude")>]
        latitude:float
        [<field: DataMember(Name = "longitude")>]
        longitude:float
}

let internal unjson<'t> (jsonString:string)  : 't =  
    use ms = new MemoryStream(ASCIIEncoding.Default.GetBytes(jsonString)) 
    let obj = (new DataContractJsonSerializer(typeof<'t>)).ReadObject(ms) 
    obj :?> 't
let decodePhoto = unjson<photo>

我遇到的问题是日期字段,上面的代码引发了反序列化错误。如何指定要解析的日期字符串的格式?

非常感谢。

【问题讨论】:

    标签: .net json serialization f# deserialization


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      不确定,但您可以为此使用IDeserializationCallback 接口或OnDeserializing 属性吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-15
        • 1970-01-01
        • 1970-01-01
        • 2015-01-25
        • 2015-03-23
        • 2022-01-14
        • 1970-01-01
        • 2019-08-22
        相关资源
        最近更新 更多