zoukankan      html  css  js  c++  java
  • 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);  
                        }  
                      }   
  • 相关阅读:
    LeetCode 404. 左叶子之和
    三年了
    LeetCode 543. 二叉树的直径
    求结点在二叉排序树中层次的算法
    LeetCode 98. 验证二叉搜索树
    LeetCode 236. 二叉树的最近公共祖先
    LeetCode 129. 求根到叶子节点数字之和
    LeetCode 113. 路径总和 II
    LeetCode 107. 二叉树的层次遍历 II
    LeetCode 144. 二叉树的前序遍历 (非递归)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4520099.html
Copyright © 2011-2022 走看看