有没有办法组合两个foreach循环?
我试图在一个循环中从JSON文件中获取“ total”和“ Na”的值,但我不起作用。
使用“ data.items”时找不到“ total”的值,而使用“ data.total”时找不到“ Na”的值。
我尝试改用“数据”,但是它也不起作用……
代码:
foreach (var p in jsonbject.SelectToken("data.items"))
{
Na = "";
}
foreach (var f in jsonbject.SelectToken("data.total"))
{
total = "";
}
{{
"data": {
"total": 125,
"items": [
{
"Na": "hdbcjd213",
}
我要提取“总计”和“项目”的值并保存在数据库中。
简而言之,我想写这样的东西:
foreach (var p in jsonbject.SelectToken("['data.total','data.items']"))
{
total = "";
id = "";
}
答案 0 :(得分:0)
您可能正在尝试错误的方法。
public class Item
{
[JsonProperty("Na")]
public string Na { get; set; }
}
public class Data
{
[JsonProperty("total")]
public int total { get; set; }
[JsonProperty("items")]
public IList<Item> items { get; set; }
}
public class Example
{
[JsonProperty("data")]
public Data data { get; set; }
}
然后反序列化数据-
var data = JsonConvert.Deserialize<Example>("{ \"data\": ...... ")
现在,您可以使用对象data
获取数据。 data.Items
,data.Total
。
所以你可以写-
foreach( var item in data.Items){
var toal = data.total;
var na = item.Na;
}
dynamic
。var data = JsonConvert.Deserialize<dynamic>("{ \"data\": ...... ");
var items = data.items;
var total = data.total;
....
foreach( var item in data.Items){
var total = data.total;
var na = item.Na;
}
但是对于这种方法,您必须在每次使用它们时都再次投射它们。
我希望这会有所帮助。如果这不是您要找的东西,请告诉我。