C# 在C中从JSON中获取嵌套数据#

C# 在C中从JSON中获取嵌套数据#,c#,asp.net-mvc,json,asp.net-mvc-2,C#,Asp.net Mvc,Json,Asp.net Mvc 2,我有一些带有两个对象的JSON,每个对象嵌套了3个对象 { “第一人称”:{ “编号”:“101”, “a10”:“1001”, “a20”:“1002” }, “第二人”:{ “编号”:“102”, “a10”:“2001年”, “a20”:“2001” } } 在c#asp.net mvc2中,我可以使用哈希表访问“第一人称”或“第二人称”,但当我知道“第一人称”时,如何访问“数字”或“a10” e、 g.物体内部的物体 哈希表是这方面的最佳用途还是我应该使用其他东西 提前谢谢。我发现解决您

我有一些带有两个对象的JSON,每个对象嵌套了3个对象

{
“第一人称”:{
“编号”:“101”,
“a10”:“1001”,
“a20”:“1002”
},
“第二人”:{
“编号”:“102”,
“a10”:“2001年”,
“a20”:“2001”
}
}

在c#asp.net mvc2中,我可以使用哈希表访问“第一人称”或“第二人称”,但当我知道“第一人称”时,如何访问“数字”或“a10”

e、 g.物体内部的物体

哈希表是这方面的最佳用途还是我应该使用其他东西


提前谢谢。

我发现解决您问题的方法可能是给您一个解决问题的线索

要将C#对象转换为它的JSON等价物吗?下面是System.Web.Script命名空间中的一个简单对象,它的作用正好是:

System.Web.Script.Serialization.JavaScriptSerializer。它存储在System.Web.Extensions DLL中(仅限.Net Framework 3.5)

使用此对象,我们可以序列化和反序列化C#中的对象。下面是一个快速示例:

一个简单的Employee对象:

public class Employee
{
    public string Name { get; set; }
    public string Age { get; set; }
    public string ID { get; set; }   
}
将其某些实例添加到列表中:

员工总数1=

   new Employee{Name="Pini",ID="111", Age="30"};
员工总数2=

  new Employee { Name = "Yaniv", ID = "Cohen", Age = "31" };
员工总数3=

    new Employee { Name = "Yoni", ID = "Biton", Age = "20" };
列表列表=新列表()

然后序列化:

System.Web.Script.Serialization.JavaScriptSerializer oSerializer= 新的System.Web.Script.Serialization.JavaScriptSerializer(); 字符串sJSON=oSerializer.Serialize(oList)

以下是输出:

[{"Name":"Pini","Age":"30","ID":"111"},

{"Name":"Yaniv","Age":"31","ID":"Cohen"},

{"Name":"Yoni","Age":"20","ID":"Biton"}]

这里有一个链接供您参考

我发现您的问题的解决方案可能是提供解决该问题的线索

要将C#对象转换为它的JSON等价物吗?下面是System.Web.Script命名空间中的一个简单对象,它的作用正好是:

System.Web.Script.Serialization.JavaScriptSerializer。它存储在System.Web.Extensions DLL中(仅限.Net Framework 3.5)

使用此对象,我们可以序列化和反序列化C#中的对象。下面是一个快速示例:

一个简单的Employee对象:

public class Employee
{
    public string Name { get; set; }
    public string Age { get; set; }
    public string ID { get; set; }   
}
将其某些实例添加到列表中:

员工总数1=

   new Employee{Name="Pini",ID="111", Age="30"};
员工总数2=

  new Employee { Name = "Yaniv", ID = "Cohen", Age = "31" };
员工总数3=

    new Employee { Name = "Yoni", ID = "Biton", Age = "20" };
列表列表=新列表()

然后序列化:

System.Web.Script.Serialization.JavaScriptSerializer oSerializer= 新的System.Web.Script.Serialization.JavaScriptSerializer(); 字符串sJSON=oSerializer.Serialize(oList)

以下是输出:

[{"Name":"Pini","Age":"30","ID":"111"},

{"Name":"Yaniv","Age":"31","ID":"Cohen"},

{"Name":"Yoni","Age":"20","ID":"Biton"}]

这里有一个链接供您考虑

,您可以将JSON对象分配给一个动态变量,并通过这种方式访问属性(但仅在C#4.0中)


您可以将JSON对象分配给一个动态变量,并通过这种方式访问属性(但仅在C#4.0中)


我使用JsonConvert取得了很好的效果。它似乎在了解如何处理集合方面做得很好。只需定义要反序列化到的类,并对其进行处理

例如:

MyCollection col=JsonConvert.DeserializeObject(this.HttpContext.Request.Params[0])


其中,MyCollection是一个类,它包含一组人员(在您的例子中是人员)。

我使用JsonConvert获得了很好的结果。它似乎在了解如何处理集合方面做得很好。只需定义要反序列化到的类,并对其进行处理

例如:

MyCollection col=JsonConvert.DeserializeObject(this.HttpContext.Request.Params[0])


其中MyCollection是一个类,它包含一组人(在您的例子中)的集合。

这非常接近,但我想反序列化。而且反序列化方法不够好。。。因为?这很接近,但我想反序列化。而且反序列化方法不够好。。。因为?使用反序列化对象获取jsonObject?或者使用JSON.NET获取jsonObject并将其分配给动态变量。JSON.NET用法:和JsonReader用法:使用反序列化对象获取jsonObject?或者使用JSON.NET获取jsonObject并将其分配给动态变量。JSON.NET用法:和JsonReader用法: