Json传递后台数据的问题

在后台我有两个类:

    public Class Person {  
    private String name;  
    private Address address;//一个自定义的类  
    //getter和setter方法省略  
    }  
      
    public Class Address {  
    private String road;  
    //getter和setter方法省略  
    }  

逻辑类:

    @Controller  
    public class PersonController {  
      
        @Autowired  
        private PersonService personService;  
      
        @RequestMapping(value = "getPersons.htm", method = RequestMethod.GET)  
        public ModelAndView view() {  
            System.out.println("success");  
            List<Person> persons = personService.getPersons();//自定义的方法  
            Map<String, Object> modelMap = new HashMap<String, Object>();  
            modelMap.put("persons", persons);  
            return new ModelAndView(modelMap);  
        }  
    }  

在js看到获取到的json数据是这样的:

    {"persons":[{"address":{"road":"商业街"},"name":"小明"},{"address":{"road":"莲花街"},"name":"小红"}]}  

前台代码:

    Ext.onReady(function() {  
      
                var store = new Ext.data.Store({  
                            proxy : new Ext.data.HttpProxy({  
                                        url : getPersons.htm  
                                    }),  
                            reader : new Ext.data.JsonReader({  
                                        root : books  
                                    }, [{  
                                                name : name  
                                            }, {  
                                                name : address  
                                            }])  
                        });  
      
                var persons = new Ext.grid.GridPanel({  
                            store : store,  
                            cm : new Ext.grid.ColumnModel({  
                                        defaults : {  
                                            sortable : true,  
                                            width : 200  
                                        },  
                                        columns : [{  
                                                    header : "name",  
                                                    dataIndex : name  
                                                }, {  
                                                    header : "address",  
                                                    dataIndex : address  
                                                }]  
                                    }),  
                            width : 430,  
                            height : 270,  
                            title : Test,  
                            renderTo : persons  
                        });  
      
                store.load();  
            });  
    var str = [{"persons":[{"address":{"road":"商业街"},"name":"小明"},{"address":{"road":"莲花街"},"name":"小红"}]}];  
                  str = eval(str);   
                  for(var i=0;i<str.length;i++){  
                    var strpersons= str[i].persons;  
                    for(var j=0;j<strpersons.length;j++){  
                        alert(strpersons[j].name);  
                        alert(strpersons[j].address.road);  
                    }  
                  }   

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。