如何迭代json对象字符串

How to iterate json object string?

本文关键字:json 对象 字符串 迭代 何迭代      更新时间:2023-09-26

My JsonResult如下

[{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}]

在为循环编写时,我有点困惑,所以如何迭代或在jqGrid的editoptions中获取buildSelect函数内的name值?我在jqGrid中的colModel代码如下

 { name: 'GroupName', index: 'GroupName', width: 60, align: 'center', search: false, editable: true, edittype: 'select',
   editoptions: {
                 dataUrl: "/Category/GetCategoryGroup",
                 buildSelect: function (response) {
                                  if (response && response.length) {
                                        // for loop iteration to get name values           
                                  }                                                 
                            }                                          
                 } 
 },
var groups = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}];
for(var i = 0; i< groups.length; i++) {
 var name = groups[i].name;
}

与数组相同

var myOb = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}] ; 
for (var i=0; i < myOb.length; i++) { 
 console.log(myOb[i]);
 console.log(myOb[i].name);
 console.log(myOb[i]['name']);
}

您可以进一步循环到编辑选项

 if (response && response.length) {
    var contents='<select>';
    for(var i=0; i< response.length; i++){
        var t = response[i];
        var g_name = t.name;
        contents+="<option>"+g_name+"</option>";
    }
   contents+="</select>";
   document.getElementById("contentDropdown").innerHTML = contents; 
}

在您想要显示下拉列表的地方创建一个类似这样的div:

<div id="contentDropdown"></div>

希望这对你有帮助。

迭代数组的另一种方法

var groups = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}]; 
$.each( groups, function() {
    alert(this.name);
});