Я хочу вернуть (отобразить в веб-браузере) массив json в следующем формате.
{
"RainfallAreaAVG": [
{
"AreaBbsID": "18",
"DistCount": "1",
"SubDistCount": "2",
"Amount": "14",
"Hail": "14",
"ArealDetails": [
{
"DistBbsID": "101",
"SubDistCount": "2",
"Amount": "14",
"Hail": "14",
"SubDistCount": "2",
"DistDetails": [
{
"SubDistBbsID": "101",
"Amount": "14",
"Hail": "2",
"Date": "2011-06-13"
},
{
"SubDistBbsID": "102",
"Amount": "10",
"Hail": "0",
"Date": "2011-06-13"
}
]
}
]
}
]
}
Я использую веб-API asp.net (MVC) в c # и Entity Framework 5.0, ADO.NetEntity Data Model как моя модель.
Я использую хранимую процедуру для получения данных из базы данных sql server:
В настоящее времяЯ использую код ниже в моем контроллере
namespace RainfallService.Controllers
{
public class DistAVGController : ApiController
{
[HttpGet]
public List<SP_GetRainfallByDistDateAVG_Result> GetRainfall(string distBbsID, string entryDate)
{
using (var db = new Farmer_WebEntities())
{
var rainfalls = db.SP_GetRainfallByDistDateAVG(distBbsID, entryDate).ToList();
return rainfalls;
}
}
[HttpGet]
public List<SP_GetRainfallByDistDateAVGDetails_Result> GetRainfall(string distBbsID, string entryDate,string type)
{
using (var db = new Farmer_WebEntities())
{
var rainfalls = db.SP_GetRainfallByDistDateAVGDetails(distBbsID, entryDate).ToList();
return rainfalls;
}
}
}
}
И мой вывод похож на тот, который мне не нужен.
Модель данных сущности ADO.Net с использованием, как показано ниже
Классы моделей, которые я использую
namespace RainfallService
{
using System;
public partial class SP_GetRainfallByDistDateAVG_Result
{
public string AreaBbsId { get; set; }
public string DistBbsID { get; set; }
public Nullable<int> SubDistCount { get; set; }
public Nullable<decimal> Amount { get; set; }
public Nullable<int> Hail { get; set; }
}
}
И
namespace RainfallService
{
using System;
public partial class SP_GetRainfallByDistDateAVGDetails_Result
{
public string AreaBbsId { get; set; }
public string DistBbsID { get; set; }
public string SubDistBbsId { get; set; }
public Nullable<decimal> Amount { get; set; }
public Nullable<int> Hail { get; set; }
}
}
Мой WebApiConfig.cs как показано ниже
namespace RainfallService
{
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.Remove(config.Formatters.XmlFormatter);
//config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
//var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
//jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
}
}
Кто-нибудь может мне помочь, пожалуйста ???