如何在asp.net mvc 4中从外部rest完整web服务获取json数据

如何在asp.net mvc 4中从外部rest完整web服务获取json数据,json,asp.net-mvc,Json,Asp.net Mvc,我试图从外部rest url()获取json数据,并将其显示在asp.net mvc应用程序的网页上。为此,我编写了一些代码,例如 控制者--- namespace mymvcapapplication.Controllers { 公共类EmployeeController:控制器 { 字符串Baseurl=”http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3"; 公共异步任务S

我试图从外部rest url()获取json数据,并将其显示在asp.net mvc应用程序的网页上。为此,我编写了一些代码,例如

控制者---

namespace mymvcapapplication.Controllers
{
公共类EmployeeController:控制器
{       
字符串Baseurl=”http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3";
公共异步任务StateDetails()
{
List listStateInfo=新列表();
使用(var client=new HttpClient())
{
client.BaseAddress=新Uri(Baseurl);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage Res=wait client.GetAsync(Baseurl);
如果(Res.IsSuccessStatusCode)
{
//存储从web api接收的响应详细信息
var statesponse=Res.Content.ReadAsStringAsync().Result;
//反序列化从web api接收的响应并存储到员工列表中
listStateInfo=JsonConvert.DeserializeObject(StateResponse);
}  
返回视图(listStateInfo);
}
}
}
}
模型----
名称空间mymvcapapplication.Models
{
公共阶级国家
{
public int ObjectID{get;set;}
公共字符串StateName{get;set;}
公共整数黑色{get;set;}
公共整数填充{get;set;}
}
}

调试代码时出现错误:"Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:将url替换为
http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3?f=pjson
获取web服务的json版本

将url替换为
http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3?f=pjson
要获取web服务的json版本

如果您将该url放入chrome,它将返回一个html页面,而不是json。它似乎还希望您登录或传递身份验证令牌。你有这两种吗?如果你只是把这个url放到chrome中,它会返回一个html页面而不是json。它似乎还希望您登录或传递身份验证令牌。你有这两种吗?您也没有在代码中传递。
namespace MyMVCApplication.Controllers
{
    public class EmployeeController : Controller
    {       

        string Baseurl = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3";
        public async Task<ActionResult> StateDetails()
        {
            List<State> listStateInfo = new List<State>();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(Baseurl);
                client.DefaultRequestHeaders.Clear();

                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage Res = await client.GetAsync(Baseurl);
                if (Res.IsSuccessStatusCode)
                {
                    //Storing the response details recieved from web api   
                    var StateResponse = Res.Content.ReadAsStringAsync().Result;

                    //Deserializing the response recieved from web api and storing into the Employee list  
                    listStateInfo = JsonConvert.DeserializeObject<List<State>>(StateResponse);

                }  

                return View(listStateInfo);
            }

        }

    }
}

Model----
namespace MyMVCApplication.Models
{
    public class State
    {
        public int ObjectID { get; set; }
        public string StateName { get; set; }
        public int Black { get; set; }
        public int Population { get; set; }
    }
}