首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

google Gson学习札记及与json-lib的比较

2012-12-20 
google Gson学习笔记及与json-lib的比较因为gson网上的帮助文档打开时比较慢,所以把帮助文档摘录如此,方便

google Gson学习笔记及与json-lib的比较
因为gson网上的帮助文档打开时比较慢,所以把帮助文档摘录如此,方便查看:

1. 基本类型转化



2.对象转化


输出如下:[{"name":"xxlong0","id":"0","age":20,"isOk":false},{"name":"xxlong1","id":"1","age":21,"isOk":false},{"name":"xxlong2","id":"2","age":22,"isOk":false},{"name":"xxlong3","id":"3","age":23,"isOk":false},{"name":"xxlong4","id":"4","age":24,"isOk":false}]



综合实例2:

需求:想将字符串{'tableName' :'ys_index_y','year': '2008','params':'[z_expense,z_expense_profit,z_main_margin]','isOperAll':'false','copyToYear':''}还原成对象OpeerConditions,OpeerConditions对象代码如下所示

public static void main(String[] args) {             String json = "{'tableName' :'ys_index_y','year': '2008','isOperAll':'false','copyToYear':''}";           Gson gson = new Gson();           OperConditions conditions = gson.fromJson(json, OperConditions.class);           System.out.println(conditions.isOperALl() == false); // ==>输出为true             String json1 = "['z_expense','z_expense_profit','z_main_margin']";           String[] params = gson.fromJson(json1,String[].class);           conditions.setParams(params);           System.out.println(conditions.getParams()[0]); // ==>输出为z_expense       }  

Gson可以直接转化成String[]数组,同时转化OperConditions时也比json-lib简单。

还有一点是非常值得注意的,就是你的bean中有boolean属性值时,强烈建议你别像我这个例子中一样命名为以is开头的属性名,这可能给你带来意想不到的错误,关于这一点的详细解说请参看我的文章json lib 学习笔记

【转载地址】
http://ryxxlong.iteye.com/blog/736783

热点排行