[英]How to fetch data from oracle to nested json object using javascript?
[英]How to fetch data from JSON object in JavaScript?
我正在使用SpringMVC。 在控制器中,我创建一个JSON对象,然后将该对象传递给JavaScript。 如何在JavaScript中读取该对象?
我的Map
对象
Map<String rootNode,List<String>> map = new HashMap<String rootNode,List<String>();
String rootNode = "bhanu";
ArrayList<String> al = new ArrayList<String>();
for( int i = 0; i < UserProfile.size; i++ ) {
al.add( userProfile.get( i ) );
}
map.put( userProfile, al );
最后,我的Map
对象具有以下数据:
{
"Bhanu":["hari@gmail.com","balu@gmail.com","santha@gmail.com"],
"root":["bhanu@gmail.com","anu@gmail.com","apar@gmail.com"],
"hari":["bhanuprasad@gmail.com","sravya@gmail.com","mahesh@gmail.com"],
"balu":["rama@gmail.com"]
}
现在我用GSon
转换这个对象:
Gson gson = new GSon();
String orgChartUsers = gson.toJson(map);
现在,我将此字符串传递给JavaScript,因为这是我的Ajax响应:
function orgUsers( result ) {
var orgObject = JSON.parse( result );
for(var name in result) {
console.log(name + "=" + result[name]);
}
}
这工作正常,但我想首先获取数据,例如,我想从根中的“ root”获取数据。例如,当我读取root时,我有一些数据,现在我得到bhanu@gmail.com,我想从Bhanu获取数据在这里我又得到了一些像hari@gmail.com这样的数据我想像这样获取hari的数据我想我该怎么做任何人都可以帮助我
您的列表将成为javascript数组,因此例如,您可以使用:
window.alert (orgObject["Bhanu"][0]);
给定您的示例数据,应该会弹出“ hari@gmail.com”。
如果需要,请参阅如何列出JavaScript对象的属性,以获取有关如何列出地图键的详细信息。
结果将是对象或数组。
要遍历对象,可以使用for-in循环
for (var key in obj) {
if(obj.hasOwnProperty(key)) {
// do something here
}
}
要遍历数组,可以使用普通循环:
for (var i = 0, ilen = array.length; i < ilen; i += 1) {
// do something here
}
这是最简单的方法
var result = {"Bhanu":["hari@gmail.com","balu@gmail.com","santha@gmail.com"],"root":["bhanu@gmail.com","anu@gmail.com","apar@gmail.com"],"hari":["bhanuprasad@gmail.com","sravya@gmail.com","mahesh@gmail.com"],"balu":["rama@gmail.com"]};
for(var name in result) {
console.log(name + "=" + result[name]);
}
输出:
Bhanu=hari@gmail.com,balu@gmail.com,santha@gmail.com
root=bhanu@gmail.com,anu@gmail.com,apar@gmail.com
hari=bhanuprasad@gmail.com,sravya@gmail.com,mahesh@gmail.com
balu=rama@gmail.com
请记住,数组实际上是转换为字符串。 所以result [name]实际上是一个数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.