在ASP.NET MVC中输出JSON值

时间:2015-01-12 15:35:07

标签: c# asp.net asp.net-mvc json

我试图从对象数组中获取单个值,并在索引页面上的段落标记内显示它。

在我的HomeController中,我已经完成了这个

public ActionResult Index()
    {

        WebClient client2 = new WebClient();
        Stream stream = client2.OpenRead("http://localhost/ARN/weatherAPI.json");
        StreamReader reader = new StreamReader(stream);

        Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(reader.ReadLine());
        // instead of WriteLine, 2 or 3 lines of code here using WebClient to download the file
        var weatherString = (string)jObject["weather"][0]["main"];
        stream.Close();
return View();

我开始在控制台应用程序中创建一个新项目来测试它,我运行了这行代码,但使用了Console.Writeline(weatherString),它给了我我在控制台中所需的值,但现在我遇到了问题尝试使用ASP.NET MVC在索引页面上显示它

由于这段代码在我的HomeController中,而我的Index.cshtml在其他地方,我可以通过简单的方法将weatherString变量作为简单文本输出到我的索引页面上吗?

JSON看起来像这样:

     "weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}]

所以我不想“雨”在我的网页上输出。

1 个答案:

答案 0 :(得分:1)

您可能希望在ViewBag中使用它。在控制器中:

ViewBag.WeatherString = weatherString;

然后在视图中使用@ViewBag.WeatherString

访问它

或者,您可以将其用作视图模型:

return View(weatherString)

并在您看来:

model string

但那太过分了