C# 将JSON对象解析为多个字典

C# 将JSON对象解析为多个字典,c#,json,C#,Json,我正在写一篇文章,它必须将一个JSON对象解析为多个字典。 我熟悉用JSON助手将JSON解析为简单的模型对象 public static class JsonHelper { public static string ToJson<T>(T instance) { var serializer = new DataContractJsonSerializer(typeof(T)); using (var tempStream = ne

我正在写一篇文章,它必须将一个JSON对象解析为多个字典。 我熟悉用JSON助手将JSON解析为简单的模型对象

public static class JsonHelper
{
    public static string ToJson<T>(T instance)
    {
        var serializer = new DataContractJsonSerializer(typeof(T));
        using (var tempStream = new MemoryStream())
        {
            serializer.WriteObject(tempStream, instance);
            return Encoding.UTF8.GetString(tempStream.ToArray(), 0, Convert.ToInt32(tempStream.Length));
        }
    }

    public static T FromJson<T>(string json)
    {
        var serializer = new DataContractJsonSerializer(typeof(T));

        using (var tempStream = new MemoryStream(Encoding.Unicode.GetBytes(json)))
        {
            return (T)serializer.ReadObject(tempStream);
        }

    }
}
公共静态类JsonHelper
{
公共静态字符串ToJson(T实例)
{
var serializer=newdatacontractjsonserializer(typeof(T));
使用(var tempStream=new MemoryStream())
{
WriteObject(tempStream,instance);
返回Encoding.UTF8.GetString(tempStream.ToArray(),0,Convert.ToInt32(tempStream.Length));
}
}
公共静态T FromJson(字符串json)
{
var serializer=newdatacontractjsonserializer(typeof(T));
使用(var tempStream=newmemoryStream(Encoding.Unicode.GetBytes(json)))
{
return(T)serializer.ReadObject(tempStream);
}
}
}
但我需要将其解析为多个字典,而不是模型对象(这将在最后,但目前我只需要字典)


注意。

您可以使用
JavaScriptSerializer
类(assembly:System.Web.Extensions)

它会自动将JSon字符串反序列化为
object[]
(对于未命名数组)或
Dictionary
(对于命名数组)

e、 g

(一)


数据
将是一个
字典
,其中键“B”和“C”处的元素将是对象数组(
对象[]

能否显示JSON结构?
// txt = [ {A: "foo", B: "bar", C: "foobar"}, {X: "foo", Y: "bar", Z: "foobar"} ]
JavaScriptSerializer ser = new JavaScriptSerializer();
var data = ser.Deserialize<object>(txt);
// txt = {A: "foo", B: ["bar", 3.4], C: [1, 2, 3]}
JavaScriptSerializer ser = new JavaScriptSerializer();
var data = ser.Deserialize<object>(txt);