Это моя первая публикация здесь, и я попытался выполнить поиск, но я не могу заставить ни одно из предложенных решений работать на меня.
Я пытаюсь получить ответ Json от вызова API и отобразить его в виде веб-сетки. В настоящее время моя сетка отображает только первую часть JSON. Смотрите картинку. Я не уверен, что это потому, что мое мнение неверно или это связано с моей десериализацией.
Новый ответ
Я хочу, чтобы он отображал каждую оценку относитель в ответе json ниже:
[
{
"success": true,
"rate_response": [
{
"scac": "DAFG",
«service»: «dayton_ltl»,
«service_human»: «Dayton Freight»,
«carrier»: «dayton»,
«carrier_human»: «Dayton»,
«оценочный_transit_days»: 1,
"стоимость": "$ 145,53"
},
{
"услуга": "FEDEX_EXPRESS_SAVER",
"service_human": "FedEx Express Saver",
"оператор": "fedex",
"carrier_human": "Федеральная посылка",
"оценочный_транзит_дней": 3,
"стоимость": "$ 179,78"
},
],
"rate_response_errors ": [
{
" перевозчик ":" BCP Transportation ",
" message ":" Пробег не обнаружен "
}
],
" pick_ticket_number ":" 99999",
" bol_number ":" 4861521889418148 "
}
]`
Текущий контроллер
var result = JsonConvert.DeserializeObject<List<RootObject>>(jsonString);
return View("GridView", result);
ShipRкласс ответа:
public class RateResponse
{
[JsonProperty("scac")]
public string scac { get; set; }
[JsonProperty("service")]
public string service { get; set; }
[JsonProperty("service_human")]
public string service_human { get; set; }
[JsonProperty("carrier")]
public string carrier { get; set; }
[JsonProperty("carrier_human")]
public string carrier_human { get; set; }
[JsonProperty("estimated_transit_days")]
public int estimated_transit_days { get; set; }
[JsonProperty("cost")]
public string cost { get; set; }
}
public class RateResponseError
{
[JsonProperty("carrier")]
public string carrier { get; set; }
[JsonProperty("message")]
public string message { get; set; }
}
public class RootObject
{
[JsonProperty("success")]
public bool success { get; set; }
[JsonProperty("rate_response")]
public IList<RateResponse> rate_response { get; set; }
[JsonProperty("rate_response_errors")]
public IList<RateResponseError> rate_response_errors { get; set; }
[JsonProperty("pick_ticket_number")]
public string pick_ticket_number { get; set; }
}
}
GridView.cshtml:
@model List<P21.Rules.Visual.Areas.SwanleapQuote.Models.RootObject>
@{
ViewBag.Title = "GridView";
Layout = "~/Views/Shared/_VisualRuleLayout.cshtml";
}
<div>
<hr />
</div>
@foreach (var item in Model)
{
<div class="form-horizontal">
<form>
<h3>Rates</h3>
@{
var grid = new WebGrid(Model, canPage: true, canSort: true, rowsPerPage: 2);
grid.Pager(WebGridPagerModes.NextPrevious);
}
<div>
@grid.GetHtml(htmlAttributes: new
{
id = "grid",
@class = "table table-bordered table-striped table-condensed"
},
emptyRowCellValue: "No Records Found",
headerStyle: "grid-header")
</div>
<button class="btn btn-warning pull-right" type="submit">Return <i class="glyphicon glyphicon-arrow-right"></i></button>
</form>
</div>
Мой текущий результат показывает только:
Success, rate_response, rate_response_errors, pick_ticket_number
Я бы хотел показать мне:
service_human, приблизительно_транзит_дней, стоимость