我想有两种测试方法通过:反序列化这个对象与Json.NET
[TestMethod]
public void TestDeserializationSingleArray()
{
// metaGrids is an array of arrays.
var data = @"{
""metaGrids"": [
[0, 0, 0],
[0, 0, 1],
[0, 0, 2]
]
}";
var result = JsonConvert.DeserializeObject<Data>(data);
}
[TestMethod]
public void TestDeserializationMultipleArrays()
{
// metaGrids is now an array of an array of arrays.
var data = @"{
""metaGrids"": [
[
[0, 0, 0],
[0, 0, 1],
[0, 0, 2]
],
[
[0, 0, 0],
[0, 0, 1],
[0, 0, 2]
]
]
}";
var result = JsonConvert.DeserializeObject<Data>(data);
}
我的目标是这样的:
public class Data
{
[JsonConverter(typeof(MetagridsDataConverter))]
public int[][][] metaGrids;
}
我试图用一个数据转换器类,使它在这两种情况下工作,但这个失败对我来说:
public class MetagridsDataConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return true;
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return null;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
}
}
我如何我的代码转换器,这样它会在两个工作situati项?在我上面的逻辑我不断收到此错误(尽管我只是想基线在那里我能得到的转换器正确触发的情况下):
Newtonsoft.Json.JsonSerializationException:意外的令牌时 反序列化对象:StartArray。路径“metaGrids [0]”,3号线, 位置33
什么你想是有名单的任一列表或列表清单,对吗? https://stackoverflow.com/a/18997172/7034621 – orhtej2