我有下面的JSON到我的API -你能建议我如何将这些JSON数据存储到C#列表或集合中吗
{
"AccountDetails": [
{
"InNumber": "123453333",
"OutNumber": "125666666"
},
{
"InNumber": "2345543334",
"OutNumber": "4556666667"
},
{
"InNumber": "9793543333",
"OutNumber": "2345543333"
}
]
}
我已经尝试了下面,但它鼻涕工作,请让我知道,如果有任何更好的性能方法
var persons = JsonConvert.DeserializeObject<List<Member>>(AccountDetails);
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("InNumber", typeof(System.String)));
dt.Columns.Add(new DataColumn("OutNumber", typeof(System.String)));
foreach (var item in persons)
{
DataRow dr = dt.NewRow();
dr["InNumber"] = item.InNumber;
dr["OutNumber"] = item.OutNumber;
dt.Rows.Add(dr);
}
3条答案
按热度按时间j2datikz1#
这是对我的评论的阐述。
我在这里创建了一个类来保存您的帐户详细信息:
但是,你的JSON数据代表一个对象,它有一个属性,这个属性代表这些的集合,所以我也需要这个:
现在我可以将您的数据存储到
Account
示例中:在回复我的评论时,你说:
我可以在列表中列出所有inNumber和outnumber,但很难确定哪个InNumber标记为Outnumber。我如何显示记录-这样的方式,这两个相关的号码可以很容易地识别,因为在结束时,我需要存储在数据库中的InNumber和相应的Outnumber。
我不太明白。您有一个
AccountDetail
对象列表,每个对象都有一个InNumber
/OutNumber
对。可以使用任何现代数据库访问机制(或者,只是围绕INSERT
语句的循环)轻松地将其插入数据库。你没有显示你的数据库访问代码,所以我不能告诉你。我可以告诉你的是,我几乎从不使用DataTables,除非我正在处理 * 非常 * 旧的代码。
因为看起来你真的想把它放在
DataTable
中,所以把这段代码添加到Test
的末尾(在var result =
开始的那一行之后):pieyvz9o2#
您所展示的JSON是一个Object,它具有名为AccountDetails的Property,其中包含您的数组。注意外部Json是如何被{ }而不是[ ]包围的,这就是为什么你会看到这个错误。
这是Deserialize Json into C# Collection的副本
你可以解决这个问题,例如,像这样:
working example
或者从JSON对象中解析集合(答案如下)
创建包含AccountDetails列表的对象
反序列化为
https://dotnetfiddle.net/NXCrDC
ymdaylpp3#
如果需要DataTable
如果你想列出