日期:2014-05-18  浏览次数:20798 次

<求助>Json传值问题
我想以Json格式把后台取出的List传到前台页面里. 
我用ResponseEntity<HttpEntity>可以完成,但是由于是个list,每个元素没有变量名.
代码如下:

@RequestMapping(value="/project/list",method = RequestMethod.GET)
public ResponseEntity<HttpEntity> listProject(){
List<Project> projects = projectService.listAllProjects();
return new ResponseEntity(projects, HttpStatus.OK);
}

Json数据如下:

我要取前四个的数据的name,photoId等属性渲染到页面中.
这样的数据怎么取值?
我想给他们一个变量名于是修改代码:

@RequestMapping(value="/project/list",method = RequestMethod.GET)
public ResponseEntity<HttpEntity> listProject(Model model){

List<Project> projects = projectService.listAllProjects();

model.addAttribute("project", projects);
return new ResponseEntity(model, HttpStatus.OK);
}

这样的话我可以用${project[i].name}去某个project的任意属性. 但是现在报错stackoverflowError
栈溢出. 


总结一下问题:
最根本的问题是想实现取某个project的某个属性. 

两种方法分别遇到了不同的问题. 求解决...

------解决方案--------------------
你的 JSON 遍历有问题。
function a(jsondata){
   othis=this
   $.each(jsondata,function(a,v){
    //a 属性命,v值
    if(typeof v =="object"){
     othis(v)
    }  
 }
}

------解决方案--------------------
循环,直接data[index].name