C# 在C中从JSON中获取嵌套数据#
我有一些带有两个对象的JSON,每个对象嵌套了3个对象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.物体内部的物体 哈希表是这方面的最佳用途还是我应该使用其他东西 提前谢谢。我发现解决您
{
“第一人称”:{
“编号”:“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用法: