我想从javascript中的spring控制器访问json数据。 这是RESTAPI调用,它返回JSON数据在javascript中解析/从spring mvc控制器中获取json
{id: '0', item: [
{
id: 'all',
text: 'ALL',
item: [
{
id: 'all-',
text: 'ALL-',
item: [
{
id: 'Market1-0',
text: 'Market1',
item: [
{
id: 'id2',
text: 'Project 2'
},
{
id: 'id1',
text: 'Project 1'
}
]
}
]
}
]
}
]
}
这里是春天处理器
public class DashboardHandler {
public String getProjects() throws ParseException{
SimpleClientHttpRequestFactory rf = new SimpleClientHttpRequestFactory();
rf.setReadTimeout(50000);
rf.setConnectTimeout(50000);
RestTemplate restTemplate = new RestTemplate(rf);
String page = restTemplate.getForObject(
"http://localhost:9090/mcps/api/v1.0/user/2/projects",
String.class);
JSONParser parser = new JSONParser();
JSONObject customerListObject = (JSONObject) parser.parse(page);
StringBuilder builder = new StringBuilder();
builder.append("{id:'0', item:[");
builder.append("{id:'all', text:'ALL', item:[");
int i=0;
for (Object customer : customerListObject.keySet()) {
JSONObject customerJsonObject = (JSONObject) customerListObject
.get(customer.toString());
for (Object region : customerJsonObject.keySet()) {
JSONObject marketJsonObject = (JSONObject) customerJsonObject
.get(region.toString());
for (Object market : marketJsonObject.keySet()) {
builder.append("{id:'"+market+"-"+i+"', text:'"+market+"', item:[");
i++;
JSONObject projectObject = (JSONObject) marketJsonObject
.get(market.toString());
for(Object projectId:projectObject.keySet()){
JSONObject projectJsonObject = (JSONObject) projectObject.get(projectId);
for(Object project: projectJsonObject.keySet()){
builder.append("{id:'"+projectId+"', text:'"+project+"'},");
}
}
builder.append("]},");
}
}
}
builder.append("]}]}");
System.out.println(builder.toString());
return builder.toString();
}
}
的代码,我现在我想有控制器请求映射URL
@Controller
public class DashboardController {
@RequestMapping(value = "/getProjects", method = RequestMethod.GET)
public @ResponseBody String getProjects(HttpServletRequest request) {
DashboardHandler dashBoardHandler = new DashboardHandler();
try {
return dashBoardHandler.getProjects();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
所以在javascript中访问该/ getProjects url。 谁能告诉我如何?
您是否尝试过搜索类似 “JS得到JSON”? – fast 2014-09-30 09:46:06