【发布时间】: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