Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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转换为GridView_C#_Asp.net_Json_Gridview - Fatal编程技术网

C# 将JSON转换为GridView

C# 将JSON转换为GridView,c#,asp.net,json,gridview,C#,Asp.net,Json,Gridview,我设置了一个测试DreamFactory服务器,并尝试将结果从JSON转换为DataTable,以便显示GridView。我尝试了几件事都没有成功,这是我当前的代码: var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))

我设置了一个测试DreamFactory服务器,并尝试将结果从JSON转换为DataTable,以便显示GridView。我尝试了几件事都没有成功,这是我当前的代码:

 var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                result = streamReader.ReadToEnd();
                dynamic d = JObject.Parse(result);
            }

            object obj = JsonConvert.DeserializeObject(result); 

            var table = JsonConvert.DeserializeObject<DataTable>(result); <--ERROR
            return table;

实际上,您不需要将其转换为数据表。当转换为强类型对象时,它应该可以工作。但很肯定它不会与dynamic一起工作。
并从结果对象绑定它,数据源应该是一个数组

您的json不是数据表。您所需要的只是反序列化到

var root = JsonConvert.DeserializeObject<RootObject>(result);
var root=JsonConvert.DeserializeObject(结果);

公共类记录
{
public int StatusID{get;set;}
公共字符串标识符{get;set;}
公共字符串状态{get;set;}
公共字符串StatusDate{get;set;}
由{get;set;}处理的公共字符串
公共字符串ContactedOn{get;set;}
公共字符串电子邮件{get;set;}
}
公共类根对象
{
公共列表记录{get;set;}
}

有关进一步的json到csharp转换的信息,请参见

从何处获得错误?你把所有的试验都混在一个代码里了?顺便说一句:
我尝试了几种方法,但大多数时候我都会遇到以下错误
不是问题。什么时候使用哪种代码?啊,对不起,让我来澄清一下(我对它们进行了评论),JSON的结构是什么?以及
result
的内容?发布了JSON格式OK,看起来效果很好,非常感谢。我验证了列表,数据被正确反序列化。如果您不介意,我如何将“root”转换为数据表?@LordRelix创建一个数据表,并使用root对象填充值。这与json反序列化无关。你是对的。经过一些修补后,它仍然可以工作。非常感谢:)
var root = JsonConvert.DeserializeObject<RootObject>(result);
public class Record
{
    public int StatusID { get; set; }
    public string Identifier { get; set; }
    public string Status { get; set; }
    public string StatusDate { get; set; }
    public string WorkedBy { get; set; }
    public string ContactedOn { get; set; }
    public string Email { get; set; }
}

public class RootObject
{
    public List<Record> Record { get; set; }
}