如何在ASP.NET中将json响应转换为数据集 [英] How to I convert json response to dataset in ASP.NET

查看:69
本文介绍了如何在ASP.NET中将json响应转换为数据集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<string xmlns="http://tempuri.org/">
{"traffic":[{"domain":{"name":"abcabanderadas.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":507,"availability":"3/26/2016"}},{"domain":{"name":"abcbidders.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":764,"availability":"3/24/2016"}},{"domain":{"name":"abcd4web.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":539,"availability":"3/27/2016"}},{"domain":{"name":"abcdadieta.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":1113,"availability":"3/27/2016"}},{"domain":{"name":"abcdatacodigos.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":531,"availability":"3/27/2016"}},{"domain":{"name":"abcdbrageac.com","inboundLinks":0,"thirtyDayScore":9.3,"dnsTrafficReach":122,"availability":"3/23/2016"}},{"domain":{"name":"abcdefghijklmn-opqrstuvwsyz.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":503,"availability":"3/24/2016"}},{"domain":{"name":"abcdeliverysystems.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":330,"availability":"3/27/2016"}},{"domain":{"name":"abcdenverchannel.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":570,"availability":"3/27/2016"}},{"domain":{"name":"abcdishylicious.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":422,"availability":"3/24/2016"}},{"domain":{"name":"abcdomainhost.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":1040,"availability":"3/26/2016"}},{"domain":{"name":"abcdonate.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":558,"availability":"3/23/2016"}},{"domain":{"name":"abcdoorcolorado.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":476,"availability":"3/26/2016"}},{"domain":{"name":"abcdwin.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":448,"availability":"3/27/2016"}},{"domain":{"name":"abcdyi.com","inboundLinks":0,"thirtyDayScore":9.3,"dnsTrafficReach":400,"availability":"3/24/2016"}},{"domain":{"name":"abckidsacdemy.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":565,"availability":"3/25/2016"}},{"domain":{"name":"abcmobiledesign.net","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":481,"availability":"3/26/2016"}},{"domain":{"name":"abcsitedesign.com","inboundLinks":19,"thirtyDayScore":9.5,"dnsTrafficReach":14016,"availability":"3/23/2016"}},{"domain":{"name":"guarderiaabc.com","inboundLinks":0,"thirtyDayScore":9.4,"dnsTrafficReach":0,"availability":"3/27/2016"}},{"domain":{"name":"insideabc.com","inboundLinks":0,"thirtyDayScore":9.3,"dnsTrafficReach":730,"availability":"3/24/2016"}},{"domain":{"name":"prodecabcn.com","inboundLinks":0,"thirtyDayScore":9.5,"dnsTrafficReach":436,"availability":"3/27/2016"}}]}
</string>





我尝试过:



i从json响应中删除了xml标签。

string jsonResponse = jsonResult.Replace(\\\\ n && lt; string xmlns =\http:=tempuri.org =\=>,string.Empty).Replace(},});

并使用了js0nCoverter

DataSet ds = JsonConvert.DeserializeObject< dataset>(jsonDataSet);

但是我在读取DataTable时遇到ErrorUnexpected JSON令牌:StartObject



What I have tried:

i removed xml tags from json response.
string jsonResponse = jsonResult.Replace("\r\n<string xmlns="\" http:="" tempuri.org="" \""="">", string.Empty).Replace("}","}");
and used js0nCoverter
DataSet ds = JsonConvert.DeserializeObject<dataset>(jsonDataSet);
But I am getting ErrorUnexpected JSON token while reading DataTable: StartObject

推荐答案

使用 json2csharp - 从json生成c#类 [ ^ ]。



这将建议您拥有这些类。

Use json2csharp - generate c# classes from json[^].

This will suggest you to have these classes.
public class Domain
{
    public string name { get; set; }
    public int inboundLinks { get; set; }
    public double thirtyDayScore { get; set; }
    public int dnsTrafficReach { get; set; }
    public string availability { get; set; }
}

public class Traffic
{
    public Domain domain { get; set; }
}

public class RootObject
{
    public List<Traffic> traffic { get; set; }
}



然后你可以将json转换为RootObject。


Then you can convert json to the RootObject.


这篇关于如何在ASP.NET中将json响应转换为数据集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆