Я создал файл .json, который содержит туристические места города. Мой файл JSON выглядеть this-получить все данные объекта json в представлении, используя ASP.NET MVC и JSON.Net
{
"city":[
{
"Name": "Flensburg Firth",
"Shorttext": "Flensburg Firth or Flensborg Fjord ....",
"Longitude": 9.42901993,
"Latitude": 54.7959404,
"Image": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Flensborg_Fjord_ved_bockholmwik.jpg/400px-Flensborg_Fjord_ved_bockholmwik.jpg"
},
{
"Name": "Naval Academy Mürwik",
"Shorttext": "The Naval Academy Mürwik is the main train....",
"Longitude": 9.45944444,
"Latitude": 54.815,
"Image": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/MSM-hauptgebaeude.jpg/400px-MSM-hauptgebaeude.jpg"
},
{
"Name": "Nordertor",
"Shorttext": "The Nordertor is an old town gate in Flensburg, Germany....",
"Longitude": 9.43004861,
"Latitude": 54.79541778,
"Images":"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Nordertor_im_Schnee_%28Flensburg%2C_Januar_2014%29.JPG/266px-Nordertor_im_Schnee_%28Flensburg%2C_Januar_2014%29.JPG"
}
]
}
Мой класс модели, чтобы получить объект для этого JSon данных -
public class City
{
public string Name { get; set; }
public string Shorttext { get; set; }
public double Longitude { get; set; }
public double Latitude { get; set; }
public string Image { get; set; }
}
public class RootObject
{
public List<City> city { get; set; }
}
Теперь в контроллере я создаю ActionResult вернуться вид с точки зрения сумка Сообщение- // Я редактировал contrller класс
public ActionResult GMap(City objCityModel)
{
string name = objCityModel.Name;
ViewBag.Title = name;
var ReadJson = System.IO.File.ReadAllText(Server.MapPath(@"~/App_Data/"+name+".json"));
RootObject json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<RootObject>(ReadJson);
foreach (var item in json.poi)
{
ViewBag.Name = item.Name;
ViewBag.ShortText = item.Shorttext;
ViewBag.Latitude = item.Latitude;
ViewBag.Longitude = item.Longitude;
ViewBag.Image = item.Image;
}
return View();
Мои GMap.cshtml это -
@model Test2_search.Models.City
@{
ViewBag.Title1 = "Google Map View";
}
<h2>@ViewBag.Title</h2>
<p>@ViewBag.ShortText</p>
<p>@ViewBag.Latitude</p>
<p>@ViewBag.Longitude</p>
<p>@ViewBag.Image</p>
С помощью этого кода я могу получить только первый объект этого JSon файла. как только данные для «Фленсбург Ферт». но я хочу показать все три места в этом городе. Как я могу получить все десериализованные данные json в этом случае.
Большое спасибо. Ты спасаешь мой день. Многие много спасибо –
, вы делаете двойную работу здесь. Вы уже определили город как список. Нет смысла копировать его в новый объект. Просто верните json.poi. вот так ViewBag.Cities = json.poi; –
Fran
ViewBag.Cities = json.poi.city; Я думаю, что это было бы более точно с минимальными строками кода. – Nagaraj