我试图从对象数组中获取单个值,并在索引页面上的段落标记内显示它。
在我的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"}]
所以我不想“雨”在我的网页上输出。
答案 0 :(得分:1)
您可能希望在ViewBag中使用它。在控制器中:
ViewBag.WeatherString = weatherString;
然后在视图中使用@ViewBag.WeatherString
或者,您可以将其用作视图模型:
return View(weatherString)
并在您看来:
model string
但那太过分了