Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
来源:互联网 发布:淘宝网套装连衣裙 编辑:程序博客网 时间:2024/05/21 08:03
Java Json/xml 序列化和反序列化: 工具JsonTools 和 simpleframework
1. xml 序列化反序列化工具:simpleframework 功能非常强大,使用起来非常简单,自己可以百度一下
使用方法:首先根据xml文件建好java bean ,可以是非常复杂的java bean; 对应的xml文件和java bean 见文章尾部
导入:
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
直接使用:
File file = new File("c://mystd.xml");
Serializer serializer = new Persister();
//反序列化
Bean rule=serializer.read(Bean.class, file);
//序列化
serializer.write(rule, file);
下面主要介绍json的序列化反序列化 工具
2.Json 工具
xml 序列化反序列化工具:JsonTools
JsonTools是一个不错的JSON序列化和反序列化功能包,在这里可以下载到它:http://jsontools.berlios.de/。
使用介绍:
//序列化
JSONValue jsonValue = JSONMapper.toJSON( bean);
String jsonStr = jsonValue.render(true); //是否格式化
System.out.println(jsonStr);
//反序列化
JSONParser parser = new JSONParser(new StringReader(jsonStr));
L2Rule bean = (L2Rule) JSONMapper.toJava(parser.nextValue(), L2Rule.class);
String jsonStr = jsonValue.render(true); //是否格式化
System.out.println(jsonStr);
//反序列化
JSONParser parser = new JSONParser(new StringReader(jsonStr));
L2Rule bean = (L2Rule) JSONMapper.toJava(parser.nextValue(), L2Rule.class);
原始xml文件:
<L2Rule>
<Sheet Type="BS">
<Table>
<Row ItemName="Total assets" USID="USGB123450" Level="0"/>
<Row ItemName="Total current assets" USID="USGB123451" Level="1"/>
<Row ItemName="Cash and cash equivalents" USID="USGB123452" Level="2" />
<Row ItemName="Accounts receivable, net of allowance for bad debts of " USID="USGB123453" Level="2" />
<Row ItemName="Current assets" USID="USGB123454" Level="2" />
</Table>
</Sheet>
</L2Rule>
<Sheet Type="BS">
<Table>
<Row ItemName="Total assets" USID="USGB123450" Level="0"/>
<Row ItemName="Total current assets" USID="USGB123451" Level="1"/>
<Row ItemName="Cash and cash equivalents" USID="USGB123452" Level="2" />
<Row ItemName="Accounts receivable, net of allowance for bad debts of " USID="USGB123453" Level="2" />
<Row ItemName="Current assets" USID="USGB123454" Level="2" />
</Table>
</Sheet>
</L2Rule>
解析后的json:
{"sheet":[{"tables":{"rows":[{"itemName":"Total assets","level":"0","usid":"USGB123450"},{"itemName":"Total current assets","level":"1","usid":"USGB123451"},{"itemName":"Cash and cash equivalents","level":"2","usid":"USGB123452"},{"itemName":"Accounts receivable, net of allowance for bad debts of ","level":"2","usid":"USGB123453"},{"itemName":"Current assets","level":"2","usid":"USGB123454"}]},"type":"BS"}]}
加格式:
加格式:
{
"sheet" :
[
{
"tables" :
{
"rows" :
[
{
"itemName" : "Total assets",
"level" : "0",
"usid" : "USGB123450"
},
{
"itemName" : "Total current assets",
"level" : "1",
"usid" : "USGB123451"
},
{
"itemName" : "Cash and cash equivalents",
"level" : "2",
"usid" : "USGB123452"
},
{
"itemName" : "Accounts receivable, net of allowance for bad debts of ",
"level" : "2",
"usid" : "USGB123453"
},
{
"itemName" : "Current assets",
"level" : "2",
"usid" : "USGB123454"
}
]
},
"type" : "BS"
}
]
}
"sheet" :
[
{
"tables" :
{
"rows" :
[
{
"itemName" : "Total assets",
"level" : "0",
"usid" : "USGB123450"
},
{
"itemName" : "Total current assets",
"level" : "1",
"usid" : "USGB123451"
},
{
"itemName" : "Cash and cash equivalents",
"level" : "2",
"usid" : "USGB123452"
},
{
"itemName" : "Accounts receivable, net of allowance for bad debts of ",
"level" : "2",
"usid" : "USGB123453"
},
{
"itemName" : "Current assets",
"level" : "2",
"usid" : "USGB123454"
}
]
},
"type" : "BS"
}
]
}
对应的bean:
L2Rule.java
Sheet.java
Table.java
Row.java
下一遍将介绍将树形数据读取成json格式
Sunny liu
2009-11-19
- Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
- Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
- Java Json/xml 序列化和反序列化工具:JsonTools 和 simpleframework【附带实例】
- Java Json/xml 序列化和反序列化工具:JsonTools 和 simpleframework【附带实例】
- JsonTools(java Json序列化/反序列化)简单使用
- ASP.NET Json序列化和反序列化实例
- XML/JSON序列化和反序列化
- C# 二进制、Xml、Json序列化和反序列化
- json 与 xml 序列化和反序列化工具
- C#序列化与反序列化对象XML和JSON 详细代码工具
- Json序列化和反序列化
- json序列化和反序列化
- json序列化和反序列化
- json序列化和反序列化
- json序列化和反序列化
- Json序列化和反序列化
- json序列化和反序列化
- Newtonsoft.Json序列化和反序列
- php 中生成随机字符串的方法
- 一次Nginx+PHP+Mysql的并发测试经历
- iphone 运行你的Application
- 改变MFC创建的窗口类~~~~(个性化)
- 基于大数据量的缓存查询实现方案
- Java Json/xml 序列化和反序列化 工具:JsonTools 和 simpleframework 附带实例
- 回文
- FCK
- php添加图形验证码
- 6410 bootloader stepstone学习
- 美欧亚三足鼎立格局形成
- Discuz配置搜索引擎优化(URL重写) apache配置
- FSK来电芯片HT9032的应用心得
- 格程序员每天每周每月每年应该做的事