首先,我是MVC的新手。
我想在html视图中显示JSON响应的属性。
例如,我想从JSON响应中获取页面喜欢的数量,并在页面上显示喜欢的数量。
非常感谢任何帮助:)
//
// GET: /Facebook/
public ActionResult Index()
{
var json = new WebClient().DownloadString("https://graph.facebook.com/google");
JsonConvert.DeserializeObject<RootObject>(json);
return view();
}
public class CategoryList
{
public string id { get; set; }
public string name { get; set; }
}
public class Location
{
public string street { get; set; }
public string city { get; set; }
public string state { get; set; }
public string country { get; set; }
public string zip { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
}
public class Cover
{
public string cover_id { get; set; }
public string source { get; set; }
public int offset_y { get; set; }
public int offset_x { get; set; }
}
public class RootObject
{
public string about { get; set; }
public string awards { get; set; }
public string category { get; set; }
public List<CategoryList> category_list { get; set; }
public int checkins { get; set; }
public string company_overview { get; set; }
public string description { get; set; }
public string founded { get; set; }
public bool is_published { get; set; }
public Location location { get; set; }
public string mission { get; set; }
public string phone { get; set; }
public string products { get; set; }
public int talking_about_count { get; set; }
public string username { get; set; }
public string website { get; set; }
public int were_here_count { get; set; }
public string id { get; set; }
public string name { get; set; }
public string link { get; set; }
public int likes { get; set; }
public Cover cover { get; set; }
}
}
}
答案 0 :(得分:1)
您的操作应将对象传递给视图:
public ActionResult Index()
{
var json = new WebClient().DownloadString("https://graph.facebook.com/google");
var root=JsonConvert.DeserializeObject<RootObject>(json);
return view(root);
}
然后在您的视图中,您可以显示您想要的任何属性:
@Model RootObject
<html>
<head>
<title>Showing properties</title>
</head>
<body>
@Model.likes likes.
</body>
</html>
如果你使用Razor语法,那就是这样。
答案 1 :(得分:0)
你错过了
return view(root);
您应该将对象传回视图以使用它。
你可以在mvc 4中使用JsonResult,
public JsonResult ReturnSomeJson()
{
JsonResult result = new JsonResult();
//Assign some json value to result.
//Allow get is used to get the value in view.
return view(result,AllowGet.True);
}
答案 2 :(得分:0)
我正在寻找类似的解决方案,但发现它与众不同:
[HttpGet]
public JsonResult Index() {
// your code
return Json("some result string or value", JsonRequestBehavior.AllowGet);
}
当您直接调用此操作时,这会在浏览器中输出"some result string or value"
。
假设这是控制器中的正常动作, 继承自
Controller
类。