C# 基于值的Json上的Foreach
请问,如何用C#编写此json的C# 基于值的Json上的Foreach,c#,json,list,C#,Json,List,请问,如何用C#编写此json的Foreach: 用于提取每个tabla元素的值,并提取campo元素上的值,以获得单独列表上的最终结果,如: 新列表1(表1的值): 新列表2(表2的值): 谢谢。这里有一个粗略的例子,它使用了Newtonsoft.Jsonnuget包,您可以从中获得灵感。它按表名分组,然后获取每个表的列表。你可能想换一种方式,我不确定 var o = JsonConvert.DeserializeObject<root>(json); var groups = o
Foreach
:
用于提取每个tabla
元素的值,并提取campo
元素上的值,以获得单独列表上的最终结果,如:
新列表1(表1的值):
新列表2(表2的值):
谢谢。这里有一个粗略的例子,它使用了
Newtonsoft.Json
nuget包,您可以从中获得灵感。它按表名分组,然后获取每个表的列表。你可能想换一种方式,我不确定
var o = JsonConvert.DeserializeObject<root>(json);
var groups = o.tabla.GroupBy(t => t.nombretabla);
foreach (var group in groups)
{
var tableName = group.Key;
var tabla = group.FirstOrDefault();
if (tabla != null)
{
var list = tabla.campostabla.campo.ToList();
foreach (var item in list)
{
Console.WriteLine(item);
}
}
}
到目前为止你试过什么?您应该发布处理JSON的C#代码。我尝试了一个简单的Foreach,但我无法为Foreach中“tabla”元素的值更改设置“细分”。(检查一个新值“tabla”以初始化填充一个新列表)。我们不知道您是否已经解析了JSON,解析成了什么样的数据结构,等等。如果不了解问题的背景,很难帮助您。您不能按原样迭代JSON-这是序列化器输出(Google it)。因此,首先需要对其进行解析或反序列化。这里有数百篇关于如何做到这一点的帖子。
FIELD1
FIELD2
FIELD1
FIELD2
FIELD3
var o = JsonConvert.DeserializeObject<root>(json);
var groups = o.tabla.GroupBy(t => t.nombretabla);
foreach (var group in groups)
{
var tableName = group.Key;
var tabla = group.FirstOrDefault();
if (tabla != null)
{
var list = tabla.campostabla.campo.ToList();
foreach (var item in list)
{
Console.WriteLine(item);
}
}
}
public class root
{
public Tabla[] tabla { get; set; }
}
public class Tabla
{
public string nombretabla { get; set; }
public CamposTabla campostabla { get; set; }
public string filtro { get; set; }
}
public class CamposTabla
{
public string[] campo { get; set; }
}