В настоящее время работает над приложением asp.net mvc 4.
У меня есть вид, который строго типизирован.
Внутри представления у меня есть следующее:
<script type="text/javascript">
$(document).ready(function () {
var resultJSON = $.parseJSON(JSON.stringify(@Html.Raw(Model.Json)));
console.log(resultJSON);
});
</script>
После того, как я console.log(resultJSON)
, я получаю следующий результат:
{
"Log": {
"ShowFormatDropdown": true,
"ShowGroupDropdown": false,
"ShowStartDateAndYearDropdown": false,
"ShowEndDateAndYearDropdown": false,
"ShowStartEndDateTextbox": true,
"ShowMachineNameDropdown": true,
"ShowSeverityDropdown": true,
"ShowSummaryDetailRadioButton": false,
"ShowMessageTextbox": true,
"ShowIPAddressTextbox": true,
"ShowCorrelationTextbox": true,
"ShowDINTextbox": false
},
"RefillRequest": {
"ShowFormatDropdown": true,
"ShowGroupDropdown": true,
"ShowStartDateAndYearDropdown": true,
"ShowEndDateAndYearDropdown": true,
"ShowStartEndDateTextbox": false,
"ShowMachineNameDropdown": false,
"ShowSeverityDropdown": false,
"ShowSummaryDetailRadioButton": true,
"ShowMessageTextbox": false,
"ShowIPAddressTextbox": false,
"ShowCorrelationTextbox": false,
"ShowDINTextbox": false
},
"PatientSubscriptions": {
"ShowFormatDropdown": true,
"ShowGroupDropdown": true,
"ShowStartDateAndYearDropdown": true,
"ShowEndDateAndYearDropdown": true,
"ShowStartEndDateTextbox": false,
"ShowMachineNameDropdown": false,
"ShowSeverityDropdown": false,
"ShowSummaryDetailRadioButton": true,
"ShowMessageTextbox": false,
"ShowIPAddressTextbox": false,
"ShowCorrelationTextbox": false,
"ShowDINTextbox": false
}
}
Моя цель - иметь функцию, в которой я могу передать Key
такой как " RefillRequest ":
var settings = mySuperFunction(resultJSON, "RefillRequest");
Это, в свою очередь, settings
будет словарь, содержащий только соответствующие значения на основе ключа " RefillRequest ", в котором я прошел.
settings
будут содержать что-то вроде:
"ShowFormatDropdown": true,
"ShowGroupDropdown": true,
"ShowStartDateAndYearDropdown": true,
"ShowEndDateAndYearDropdown": true,
"ShowStartEndDateTextbox": false,
"ShowMachineNameDropdown": false,
"ShowSeverityDropdown": false,
"ShowSummaryDetailRadioButton": true,
"ShowMessageTextbox": false,
"ShowIPAddressTextbox": false,
"ShowCorrelationTextbox": false,
"ShowDINTextbox": false
Мне нужно немного помочь с этим, так как я не эксперт jQuery/Array/Dictionary.
Заранее спасибо! С уважением
Винс
Просто используйте resultJSON.RefillRequest
, он RefillRequest
вам свойство RefillRequest
По моему пониманию, если вам нужно передать ключ, вы можете использовать это
var settings = resultJSON["RefillRequest"];
В то время как ответ Satpal верен, вы можете использовать это, чтобы получить словарь для любого ключа:
function mySuperFunction(obj, key) {
return (key in object) ? object[key] : null;
}
Таким образом, вызов mySuperFunction(resultJSON, "RefillRequest")
вернет resultJSON.RefillRequest
или null
если ключ не находится в resultJSON
.
Нет необходимости выполнять эту функцию. Чтобы получить доступ к значению json, вы можете просто.
var settings = resultJSON.Log;
//or
var settings = resultJSON['Log'];