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