`

JSON 之 利用JSON插件进行数据交换格式

阅读更多
http://developer.51cto.com/art/201001/176090.htm
我们想要从Action返回到调用页面的数据。这个时候配置includeProperties或者excludeProperties拦截器即可。而这2个拦截器的定义都在struts2的json-default包内。
AD:2013云计算架构师峰会精彩课程曝光
JSON(Java Script Object Notation),是一种语言无关的数据交换格式。 JSON插件是Structs 2 的Ajax插件,通过利用JSON插件,开发者可以很方便,灵活的利用Ajax进行开发。

Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的Action ResultType 。一旦为Action指定了该结果处理类型,JSON插件就会自动将Action里的数据序列化成JSON格式的数据,并返回给客户端物理视图的JavaScript。简单的说,JSON插件允许我们在JavaScript中异步的调用Action。

更好更快更高效解析JSON说明
探索非同凡响的Json数据格式说明
讲述JSON WEB站点服务器相应错误
详数JSON版本的种种调用与测试
如何更好的易于机器解析和生成JSON轻量级
而且Action不需要指定视图来显示Action的信息显示而是由JSON插件来负责具体将Action里面具体的信息返回给调用页面。Json的数据格式可简单如下形式: person = { name: 'Jim',age: 18,gender: 'man'}。

如果action的属性很多,我们想要从Action返回到调用页面的数据。这个时候配置includeProperties或者excludeProperties拦截器即可。而这2个拦截器的定义都在struts2的json-default包内,所以要使用该拦截器的包都要继承自json-default。

<struts>
    <constant name="struts.objectFactory" value="spring"/>      
    <include file="struts-admin.xml"></include>  
    <package name="default" extends="json-default">  
        <action name="person" class="com.person.PersonAction" method="view">
        <result type="json">
           <param name="includeProperties">            
            person\.name,persoon\.age,person\.gender            
           </param>>            
        </result>
        </action>
    </package>        
</struts>
利用Struts 2的支持的可配置结果,可以达到过滤器的效果。Action的处理结果配置支持正则表达式。但是如果返回的对象是一个数组格式的Json数据。比如peson Bean中有对象persion1...person9,而我只要JSON插件,则可以用如下的正则表达式。

<struts>
    <constant name="struts.objectFactory" value="spring"/>      
    <include file="struts-admin.xml"></include>  
    <package name="default" extends="json-default">  
        <action name="person" class="com.person.PersonAction" method="view">
        <result type="json">
           <param name="includeProperties">            
            person\.name,persoon\.age,person\.gender            
           </param>>            
        </result>
        </action>
    </package>        
</struts>
利用Struts 2的支持的可配置结果,可以达到过滤器的效果。Action的处理结果配置支持正则表达式。 
但是如果返回的对象是一个数组格式的Json数据。比如peson Bean中有对象persion1...person9,而我只要person1的json数据, 
则可以用如下的正则表达式。 
<struts>
    <constant name="struts.objectFactory" value="spring"/>      
    <include file="struts-admin.xml"></include>  
    <package name="default" extends="json-default">  
        <action name="person" class="com.person.PersonAction" method="view">
        <result type="json">
           <param name="includeProperties">            
            person\[\d+\]\.person1 
           </param>>            
        </result>
        </action>
    </package>        
</struts>
excludeProperties拦截器的用法与此类同,如果拦截的仅仅是一个对象,如果拦截掉person Bean的整个对象。 
<struts>
    <constant name="struts.objectFactory" value="spring"/>      
    <include file="struts-admin.xml"></include>  
    <package name="default" extends="json-default">  
        <action name="person" class="com.person.PersonAction" method="view">
        <result type="json">
           <param name="excludeProperties">            
            person 
           </param>>            
        </result>
        </action>
    </package>        
</struts>
需要注意的是,如果用JSON插件把返回结果定为JSON。而JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行,那么可以在该方法的前面加注解声明该方法不做序列化。

public String getName()  
 { 
return this.name; 
 } 
需要引入 import com.googlecode.jsonplugin.annotations.JSON; 

@JSON(serialize=false) 
public User getUser() { 
    return this.User; 


@JSON(format="yyyy-MM-dd") 
public Date getStartDate() { 
    return this.startDate; 
}
分享到:
评论

相关推荐

    优质插件 / JSONVue / 格式化 json 数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于 Web 应用程序之间进行数据传输,因为其简洁、易读的特点深受开发者喜爱。然而,原始的 JSON 数据往往以文本形式展示,没有良好的缩进和...

    Editplus JSON格式化插件.zip

    **EditPlus JSON格式化插件**是一款专为提升开发者在使用**EditPlus**文本编辑器时处理JSON数据效率而设计的实用工具。EditPlus是一款功能强大的文本编辑器,广泛用于编写代码、HTML、PHP、Java等,但它原生并不具备...

    json格式校验前端插件(javascript)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端数据传输。在前端开发中,正确解析和校验JSON格式至关重要,因为任何格式错误都可能导致程序崩溃或逻辑错误。本文将详细介绍一个...

    浏览器 Json 格式化 高亮显示插件

    在现代的Web开发中,JSON(JavaScript Object Notation)已经成为数据交换的主要格式,尤其是在API交互、前后端通信等领域。然而,原始的JSON数据通常以文本形式呈现,未经过格式化的JSON字符串难以阅读和理解。因此...

    谷歌浏览器插件-json格式解析

    JSON是一种轻量级的数据交换格式,常用于Web服务与客户端之间的数据传输,因为它易于人阅读和编写,同时也易于机器解析和生成。 描述中提到的“解码、压缩、格式化、排序都支持”进一步细化了该插件的功能。这意味...

    json格式化谷歌插件

    "json格式化谷歌插件"是专为谷歌浏览器(Google Chrome)设计的一款实用工具,它能够帮助用户方便地对JSON数据进行格式化处理。在开发过程中,开发者经常需要查看和编辑JSON数据,原始的JSON数据通常以紧凑的形式...

    json格式化插件chrome插件下载

    6. **兼容性**:这款插件不仅适用于JSON,还可能支持其他数据格式,如XML、CSV等,具体取决于插件的版本和扩展功能。 安装方法通常是在Chrome网上应用店中搜索“JSON格式化”插件,找到合适的插件(例如"JSON View...

    json比对js插件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,格式简洁且易于读写,同时也易于机器解析和生成。在进行开发时,我们常常需要对...

    谷歌浏览器Json格式化插件,浏览器接口调试json

    描述中提到的“最好的开发调试浏览器chrome,还需要一个json数据格式化展示插件”,暗示了Chrome浏览器虽然在开发者工具方面表现出色,但在默认状态下并不提供内置的JSON格式化功能。开发者通常需要安装额外的插件,...

    jsonview json 高亮显示插件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,具有易于人阅读和编写,同时也易于机器解析和生成的特点。JSON格式通常由键值对...

    notepad++ v7.5.5json格式化插件xml格式化插件

    在这个压缩包中,我们主要关注的是两个插件:用于JSON格式化的插件和用于XML格式化的插件,这些插件将使Notepad++更加适合于查看和编辑这两种数据格式的关键信息。 首先,让我们详细了解一下JSON(JavaScript ...

    notepad++ 32位 JSON格式化插件

    3. 错误检查:插件还能检查JSON数据的语法错误,帮助开发者及时发现并修正问题,避免因为数据格式不正确导致的应用程序错误。 4. 快速折叠:用户可以折叠或展开JSON对象和数组,以聚焦于特定部分,提高代码浏览效率...

    json格式化插件

    “JSONView”是一个专门针对这个问题设计的浏览器插件,它可以在你访问接口数据时,自动将接收到的JSON数据格式化成易读的树形结构,方便开发者快速浏览和理解数据内容。这个插件特别适合前端开发者、API测试人员...

    谷歌浏览器JSON格式化插件

    3. 错误检测:如果JSON数据格式有误,插件会标出错误位置,帮助开发者迅速定位问题。 4. 快速复制:提供了复制JSON数据到剪贴板的快捷方式,方便粘贴到代码编辑器或调试工具中。 在实际开发中,这种插件极大地提升...

    优化返回json,数据美化json插件

    在实际开发中,使用这类插件可以极大地提高工作效率,减少因数据格式问题引起的困扰。同时,对于初学者来说,也是一个很好的学习工具,能够直观地理解JSON数据结构。在处理复杂API响应或调试时,这样的工具是不可或...

    Chrome浏览器插件-Json格式化-JSONView

    4. **错误检查**:如果 JSON 数据格式不正确,JSONView 会提示错误,帮助开发者快速定位问题。 5. **自定义设置**:用户可以根据个人偏好调整字体大小、颜色主题等,以满足不同的工作环境需求。 对于前端开发者来...

    springboot编程中在google浏览器格式化显示json格式数据

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在调试和查看JSON响应时,一个有效的工具能够极大地提升开发效率。Google Chrome浏览器提供了一些优秀的插件,帮助我们更方便地格式...

    谷歌json格式插件.zip

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它基于JavaScript的一个子集,但设计目标是简洁、易读性和易编写性,同时也易于机器解析和生成。JSON格式通常...

    nodepad++ json格式化插件

    而"NodePad++ JSON格式化插件"是为NodePad++增添的一项增强型工具,专门针对JSON(JavaScript Object Notation)数据格式进行美化和解析。 JSON是一种轻量级的数据交换格式,以其简洁和易于阅读的特性被广泛用于Web...

    浏览器格式化json 插件

    总之,"浏览器格式化json插件"是前端开发者必备的辅助工具之一,它通过提供友好的界面和强大的功能,让处理JSON数据变得轻松愉快。随着Web技术的不断发展,这类工具也在不断优化和完善,以满足日益复杂的开发需求。

Global site tag (gtag.js) - Google Analytics