Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于值的Json上的Foreach_C#_Json_List - Fatal编程技术网

C# 基于值的Json上的Foreach

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

请问,如何用C#编写此json的
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; }
}