将JSON反序列化/转换为C#列表

将JSON反序列化/转换为C#列表,json,.net-core,json-deserialization,Json,.net Core,Json Deserialization,我有一个Web API,在这里我得到动态的JSON对象,我需要转换成C#字符串、数组或列表,这样我就可以相应地提取数据。我尝试了多种选择,但没有得到任何结果 我在var g1=JsonConvert.DeserializeObject(item)处得到异常,异常的副本粘贴在下面 formStructureJsonBlob第一个json对象是“hiddenFields”,json输出粘贴在下面 c级 formStructureJsonBlob类型的输出json 错误 如果要在hiddenField

我有一个Web API,在这里我得到动态的JSON对象,我需要转换成C#字符串、数组或列表,这样我就可以相应地提取数据。我尝试了多种选择,但没有得到任何结果

我在var g1=JsonConvert.DeserializeObject(item)处得到异常,异常的副本粘贴在下面

formStructureJsonBlob第一个json对象是“hiddenFields”,json输出粘贴在下面

c级 formStructureJsonBlob类型的输出json 错误
  • 如果要在hiddenFields上迭代,则formStructureJsonBlob.hiddenFields应该可以工作,前提是formStructureJsonBlob包含Json。检查示例
  • 您不需要反序列化。只需访问如下所示的属性
  • 例如

    public dynamic formStructureJsonBlob { get; set; }
    
    
    public override Guid Execute()
    {
        try
        {
            foreach (var item in formStructureJsonBlob.hiddenFields)
            {
    Console.Write(item.order);
    Console.Write(item.type);
    Console.Write(item.name);
    Console.Write(item.value); 
            }
    
        }
        catch(Exception e)
        {
            Console.WriteLine(e);
        }
    }
    

    试试这个
    var g1=JsonConvert.DeserializeObject(Convert.ToString(item))否我在上面遇到错误JsonConvert.DeserializeObject(Convert.ToString(item));错误----Newtonsoft.Json.JsonReaderException:“在读完Json内容后遇到其他文本::。”。路径“”,第1行,位置14'
    
    {
        "hiddenFields": [{
            "order": 0,
            "type": "hidden",
            "name": "formId",
            "value": "v1"
        },
        {
            "order": 0,
            "type": "hidden",
            "name": "consultationId",
            "value": "v2"
        },
        {
            "order": 0,
            "type": "hidden",
            "name": "clientId",
            "value": "v3"
        }
     ]
    }
    
    {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded 
    method match for 'Newtonsoft.Json.JsonConvert.DeserializeObject(string)' has 
    some invalid arguments
     at CallSite.Target(Closure , CallSite , Type , Object )
     at Ant.Analysis.Infrastructure.Commands.SaveFormQuestionsAnswers.Execute() 
    in C:\Developments\SaveFormQuestionsAnswers.cs:line 34}
    
    public dynamic formStructureJsonBlob { get; set; }
    
    
    public override Guid Execute()
    {
        try
        {
            foreach (var item in formStructureJsonBlob.hiddenFields)
            {
    Console.Write(item.order);
    Console.Write(item.type);
    Console.Write(item.name);
    Console.Write(item.value); 
            }
    
        }
        catch(Exception e)
        {
            Console.WriteLine(e);
        }
    }