gpt4 book ai didi

javascript - 反序列化Json字典obj以显示多个值

转载 作者:行者123 更新时间:2023-11-28 16:47:46 29 4
gpt4 key购买 nike

我有一个带有模式弹出窗口的 View ,它显示“参数”,或者更确切地说,来自传递到前端的字典的数据。使用我当前的 JS,我的函数似乎一次只会反序列化一个键和值。但是,如果字典传入多个键和值,我需要编辑该函数,以便它可以反序列化多个键和值。

下面是我的代码。如果您想了解更多有关后端的信息,请告诉我。

Controller 正在返回:

var parameters = new Dictionary<string, string>();

return Json(parameters, JsonRequestBehavior.AllowGet);

重申一下,参数是一个字典,可以有一个键/值,也可以包含多个键/值对。

JS:

   $("button[name='paramsBtn']").click(function () {
/* Grabs ID from col selected */
var $col = $(this).closest('.row').find('.requestId');
var jobRequestId = $col.data('id');

$.ajax({
url: '@Url.Action("JobPollerParameters", "Tools")',
data: { "jobRequestId": jobRequestId},
success: function (results) {

$modal = $('#paramsModal');
$modal.modal("show");

var arr = results;
//loop through arr created from dictionary to grab key(s)
for (var key in arr) {
if (arr.hasOwnProperty(key)) {
var myKey = key;
}
}

var name = myKey;
var value = results[myKey];

$('#modalName').text(name);
$('#modalMessage').text(value);
}
});
});

这里是模态:

<div class="modal fade" id="paramsModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header modal-header-primary">
<a class="btn btn-xs btn-primary pull-right" data-dismiss="modal" aria-label="Close"><span class="glyphicon glyphicon-remove"></span></a>
<h4 class="modal-title" id="modalTitleText">Job Parameters</h4>
</div>
<div class="modal-body">
<div class="list-group">
<div class="row list-group-item list-group-item-heading container divTableHeading" style="width:inherit; margin-bottom:0px;">
<div class="col-md-6 font-weight-bold"> Parameter: </div>
<div class="col-md-6 font-weight-bold"> Value: </div>
</div>

<div class="row list-group-item container" style="width:inherit;">
<div class="col-md-6 text-break" id="modalName"></div>
<div class="col-md-6 text-break" id="modalMessage"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

最佳答案

这一行令人困惑:

var myKey = key;

循环完成后,myKey将等于数组中最后一个索引,因此 2如果results长度为 3。

所以,name将等于 2value将等于 results 中的最后一个元素

也许您正在寻找类似的东西,因为 results是{字符串,字符串}:

// sample results array from server
var arr = ["val1", "val2", "val3"];
var displayString = "";
for (var key in arr) {
if (arr.hasOwnProperty(key)) {
displayString += arr[key] + ","; // note, there will be a trailing comma
}
}
console.log(displayString);

关于javascript - 反序列化Json字典obj以显示多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60378872/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com