从jsp获取json并在javascript上显示

Fetching a json from jsp and displaing on javascript

本文关键字:javascript 显示 并在 json jsp 获取      更新时间:2023-09-26

我需要在java脚本中从JSON中获取值这来自jsp:

[{
        "selectionName": "Select",
        "subSelections": [{
                "id": 4,
                "subSelectionName": "Select",
                "description": "Deepmala"
            }
        ]
    }, {
        "selectionName": "week14",
        "subSelections": [{
                "id": 7,
                "subSelectionName": "1",
                "description": ""
            }
        ]
    }, {
        "selectionName": "test",
        "subSelections": [{
                "id": 6,
                "subSelectionName": "test",
                "description": ""
            }
        ]
    }, {
        "selectionName": "select",
        "subSelections": [{
                "id": 3,
                "subSelectionName": "sub-select",
                "description": "Created by Prakash"
            }
        ]
    }, {
        "selectionName": "testcreate",
        "subSelections": [{
                "id": 1,
                "subSelectionName": "testcreate",
                "description": ""
            }
        ]
    }, {
        "selectionName": "by htmlwidget",
        "subSelections": [{
                "id": 5,
                "subSelectionName": "by htmlwidget",
                "description": "created by html widget"
            }
        ]
    }
]

有什么建议吗?我试着像这样获取它:

function getSelection() {
  var options = "";  
  $.getJSON('../r3/selection.jsp').done(function(json) {    
  //alert(json.selectionName);
  // alert(json.subSelections);
  // options += '<option value="' + value. selectionId + '">' + value.selectionName +   '</option>';
    $.each(json.subSelections, function(index, value) {
     options += '<option value="' + value. subSelectionName + '">' + value. description + '</option>';
});
     var select = $('<select id="selection" onchange="getSubselection()"/>');   
    select.append(options);
    $(document.body).append(select); 
   }).fail(function (jqxhr, textStatus, error) {
   alert(' fail json  : '+error);
  }); 
}
//alert(json.selectionName);

//警报(json.subSelections);在循环内部给出了未定义的值

试试这个:

$.each(json, function (key, data) {
    $.each(data.subSelections, function (index, values) {
        options += '<option value="' + values.subSelectionName + '">' + values.description + '</option>';            
    });
});
var select = $('<select id="selection" onchange="getSubselection()"/>');
select.append(options);
$('body').append(select);