【问题标题】:Deserializing variable Type JSON array using DataContractJsonSerializer使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组
【发布时间】:2009-08-01 00:37:08
【问题描述】:

我有一个这种形式的 JSON 字符串:

string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"

我正在尝试使用带有以下代码 sn-p 的 C# .NET 反序列化器 DataContractJsonSerializer 对 JSON 进行反序列化

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof<X>);
X data = (X)serializer.ReadObject(ms);

现在由于 JSON 数组是变量类型的数组,我不知道是什么类型的对象 X 应该是

如果我的字符串是

jsonStr = "[[\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"

我可以用这个:

X = List<List<String>> 

这对我有用。我想知道是否有任何方法可以反序列化变量类型 JSON 数组?

【问题讨论】:

    标签: c# json json.net


    【解决方案1】:

    您可以使用Json.NET 来执行此操作。

    JArray a = JArray.Parse(jsonStr);
    

    JArray 将包含字符串或嵌套的 JArray,具体取决于 JSON。

    【讨论】:

    • 我使用这个程序集,非常棒。我强烈推荐这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多