我在Sharepoint 2013中搜索了一个JSON文本,并想将其反序列化为MyClass列表。 我有使用KeyValuePair将Sharepoint 2013搜索结果中的JSON反序列化为MyClass列表
var results = item["Cells"]["results"].ToObject<List<KeyValuePair<string, string>>>();
溶液但这种方法除去的日期格式等一切最终成为字符串。例如。在JSON文件中的正确的挪威日期最终成为准文字中的Norwenglish日期。
编辑:我正在使用Newtonsoft.Json库。
编辑:日期格式只是问题的一部分。反序列化是我的主要问题。
这个例子简化了JSON和class。 JSON文件可以有许多这样的记录,所以它最终会出现在对象列表中。你有一个很好的解决方案来反序列化这个JSON吗?
JSON
{
"__metadata": {
"type": "SP.SimpleDataRow"
},
"Cells": {
"results": [
{
"__metadata": {
"type": "SP.KeyValue"
},
"Key": "Id",
"Value": "358553",
"ValueType": "Edm.Int64"
},
{
"__metadata": {
"type": "SP.KeyValue"
},
"Key": "Url",
"Value": "http://somewhere.com",
"ValueType": "Edm.String"
},
{
"__metadata": {
"type": "SP.KeyValue"
},
"Key": "Title",
"Value": "My title",
"ValueType": "Edm.String"
},
{
"__metadata": {
"type": "SP.KeyValue"
},
"Key": "MyDate",
"Value": "2017-09-10T11:10:19Z",
"ValueType": "Edm.DateTime"
}
]
}
}
类
public class MyClass
{
public int Id { get; set; }
public string Url { get; set; }
public string Title { get; set; }
public DateTime MyDate { get; set; }
}
如何使用合适的Json库? NET中常用的是Json.Net – Steve
对不起,忘了通知使用中的Json库。我正在使用Newtonsoft.Json库。 – Srednasoft
无论你的日期格式是什么,你都需要指定一个'IsoDateTimeConverter'。 Json.Net预计[ISO 8601日期](https://www.iso。org/iso-8601-date-and-time-format.html) – Liam