目前正在开发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专家。
提前致谢! 此致
文斯
答案 0 :(得分:2)
只需使用resultJSON.RefillRequest
,即可获取RefillRequest
属性
根据我的理解,如果你需要传递密钥,你可以使用这个
var settings = resultJSON["RefillRequest"];
答案 1 :(得分:1)
无需执行此功能。要访问json值,您可以。
var settings = resultJSON.Log;
//or
var settings = resultJSON['Log'];
答案 2 :(得分:1)
虽然Satpal的答案是正确的,但您可以使用它来检索任何键的字典:
function mySuperFunction(obj, key) {
return (key in object) ? object[key] : null;
}
因此,如果密钥不在mySuperFunction(resultJSON, "RefillRequest")
,则调用resultJSON.RefillRequest
将返回null
或resultJSON
。