XML跟Json的一些对比

前端之家收集整理的这篇文章主要介绍了XML跟Json的一些对比前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

xml、json序列化反序列化时间对比

结果:单位(毫秒)

xml:30810

fastjson:859

gson:1482

代码

private void compTime() {

	Person p = new Person();
	p.setAge(23);
	p.setName("李志鹏");
	p.setBirthday(new Date());

	long count = 100000;

	System.out
			.println("-----------------------compTime-----------------------");

	long startMili;
	long endMili;

	startMili = System.currentTimeMillis();
	for (int i = 0; i < count; i++) {
		Writer writer = new StringWriter();
		JAXB.marshal(p,writer);

		String xml = writer.toString();
		Reader reader = new StringReader(xml);
		Person retP = JAXB.unmarshal(reader,p.getClass());
	}
	endMili = System.currentTimeMillis();
	System.out.println("xml:" + (endMili - startMili));

	startMili = System.currentTimeMillis();
	for (int i = 0; i < count; i++) {
		String json = JSON.toJSONString(p);
		Person retP = JSON.parSEObject(json,new TypeReference<Person>() {
		});
	}
	endMili = System.currentTimeMillis();
	System.out.println("fastjson:" + (endMili - startMili));
	
	startMili = System.currentTimeMillis();
	Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss")
			.create();
	for (int i = 0; i < count; i++) {
		String json = gson.toJson(p);
		Person retP = gson.fromJson(json,new TypeToken<Person>() {
				}.getType());
	}
	endMili = System.currentTimeMillis();
	System.out.println("gson:" + (endMili - startMili));		
}

序列化同一对象形成的数据大小对比:

结果:单位:字节

json:368
xml:568


代码

	private void compSize() {

		Map<String,Object> map = TestPrepareData.getStudentAndTeacher();
		String json = JSON.toJSONString(map);
		String xml = XmlJson.json2xml(json);

		System.out.println("json:" + json);
		System.out.println("xml:" + xml);
		System.out.println("json:" + json.length());
		System.out.println("xml:" + xml.length());

	}

猜你在找的XML相关文章