如何获得json从MVC4 c#没有javascript和Ajax

本文关键字:没有 javascript Ajax MVC4 何获得 json | 更新日期: 2023-09-27 17:49:37

我觉得我真的应该为此学习WCF(如果你同意,请随意评论),但是,我想查询一个网站并得到一个结果,以XML或JSON格式。

在本例中,我选择JSON。

我有一个控制器在一个网站(www.site1.com),它看起来像

public JsonResult Save(bool willSave)
{
   //logic with the parameters to go here
   return Json(new { code = 200, description = "OK" }, JsonRequestBehavior.AllowGet);
}

现在,我想从另一个网站获得这些信息,所以在www.site2.com我什么也没有…我不知道我能写什么代码,只是因为我看到的所有例子,你查询json使用javascript/Ajax。

我不想使用JavaScript或Ajax(我知道如何做到这一点),对于这个项目,我试图做一切我可以服务器端。

我希望能够做以下事情

public ActionResult Do() 
{
    var json = someHowQuerySite1.com?withQueryString=true;//THIS IS THE ISSUE
    var model = CreateModel(json);
    return View(model);
}

如你所见,

var json = someHowQuerySite1.com?withQueryString=true;//THIS IS THE ISSUE

我不知道该怎么写

如何获得json从MVC4 c#没有javascript和Ajax

最简单的方法,替换

var json = someHowQuerySite1.com?withQueryString=true;

using (var client = new HttpClient())
{
    var responseString = client.GetStringAsync("http://www.example.com/recepticle.aspx?withQueryString=true");
    var json = myJsonUtililty.toJson(responseString);
}

post的HTTP请求

你想使用HttpWebRequest请求www.site1.com/Save?save=true。就像

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://[urlhere]");
HttpWebResponse response = request.GetResponse();
using(Stream responsestream = response.GetResponseStream())
{
 //Get your JSON from the stream here
}

使用如下代码

var response = client.PostAsJsonAsync("UserApi/ValidateUserLogin", new UsersBLL { Username = userName, UserPassword = password }).Result;