从jsp获取json并在javascript上显示

从jsp获取json并在javascript上显示,javascript,jquery,json,Javascript,Jquery,Json,我需要在我的java脚本中从这个JSON获取值,这是来自jsp的: [{ "selectionName": "Select", "subSelections": [{ "id": 4, "subSelectionName": "Select", "description": "Deepmala" } ] }, {

我需要在我的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);
函数getSelection(){
var期权=”;
$.getJSON('../r3/selection.jsp').done(函数(json){
//警报(json.selectionName);
//警报(json.subSelections);
//选项+=''+值。选择名称+'';
$.each(json.subselection,函数(索引,值){
选项+=''+值。说明+'';
});
var select=$('');
选择。追加(选项);
$(document.body).append(选择);
}).fail(函数(jqxhr、textStatus、error){
警报('fail json:'+错误);
}); 
}
//警报(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);
$。每个(json、函数(键、数据){
$.each(数据、子选择、函数(索引、值){
选项+=''+值。说明+'';
});
});
var select=$('');
选择。追加(选项);
$('body')。追加(选择);

欢迎来到精彩的异步世界!你不能这样做。嗨,帕拉什,我需要在组合框/下拉框上显示这些值。第一个组合框将包含selectionName,而第二个组合框将包含基于选择名称的子选择名称。我正在尝试此操作,但它会获取子选择中的所有值。在下面的comment.var options,suboptions=“”中发布代码; var select=$('');var subselect=$('');$。getJSON('/.r3/selection.jsp').done(函数(json){$.each(json,函数(键,数据){options+=''+data.selectionName+'';$.each(data.subSelections,函数(索引,值){suboptions+=''+values.subSelectionName+'';});select.append(选项);subselect.append(子选项);…$(document.body).append(选择)$(document.body.append(subselect);})JSON来自jsp(selection.jsp)是在问题开始时发布的:来自selection.jsp的JSON与问题开始时发布的JSON相同。@Palash Mondal