【发布时间】:2016-11-30 08:40:46
【问题描述】:
我有一个单级 json,我想使用 Json.Net 将其反序列化为 Dictionary<string,object>。
字典的值可以是原始、字符串或(原始\字符串)数组。
反序列化知道如何处理原语和字符串,但是当它到达原语数组时,它会将其反序列化为JArray(而不是原语数组)。
这是我的意思的一个小代码示例:
string jsonStr = @"{""obj"": 7, ""arr"": ['1','2','3']}";
Dictionary<string, object> dict = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonStr);
dict["obj"].GetType(); // long
dict["arr"].GetType(); // JArray. I would like this to be string[].
我正在寻找一种可以干预反序列化过程并创建原始数组而不是被JArray 卡住的方法。
我已经尝试使用JsonSerializerSettings 进行此操作,但无法确定。
【问题讨论】:
标签: c# arrays serialization json.net