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

Struts2组织JSON格式响应AJAX问题
今天做了一个实例用extjs4的struts2+json的包序列一个JSON格式的数据来初始化treepanel他们返回的格式如下:

{"json":"[{'cid':1,'text':'专家观点','leaf':'true','parentID':1}]"}


如何把“[”前面的双引号去掉形成
{"json":"[{'cid':1,'text':'专家观点','leaf':'true','parentID':1}]"}
或者直接返回
[{'cid':1,'text':'专家观点','leaf':'true','parentID':1}]


treepanel部分代码如下

Ext.define('Menu', {
        extend:'Ext.data.Model',
        fields:[
            {name:'cid',type:'int'},
            'text',
            'leaf',
            'parentID'
        ],
        proxy:{
            type:'ajax',
            url:'../do.jsp?met=get&pid=0', 
            reader:{
             type: 'json',
             root:'json'
            }
        }
    });


struts.xml

<package name="struts2" namespace="/" extends="json-default"> 
  <action name="do" class="com.Manage.Action.LoginAction"> 
   <result type="json">
     <!-- 这里指定将序列化dataMap中的那些属性 -->
   <param name="includeProperties">json.*</param>
   </result>
  </action>
  </package>

------解决方案--------------------
一般后台用gson 就可以,ext的数据gson配合得都很好