C# 将JSON转换为GridView
我设置了一个测试DreamFactory服务器,并尝试将结果从JSON转换为DataTable,以便显示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()))
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; }
}