论坛首页 Java企业应用论坛

吹牛:我写的JSONParser可能是这个星球上最快了(Java)

浏览 143465 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-01-31  
人才·~找下源码好好学学·~~~
0 请登录后投票
   发表时间:2011-02-01  
Allen 写道
http://sourceforge.net/projects/fastjson/

SF上面这个,是wenshao自己放上去的吗?以后会持续在SF上面更新吗?


是的,不过sourceforge上只提供下载
0 请登录后投票
   发表时间:2011-02-15  
看到362楼真累啊
不晓得老外看到是啥感觉
希望LZ坚挺
0 请登录后投票
   发表时间:2011-02-21  
被标题吸引了。好奇中。
0 请登录后投票
   发表时间:2011-02-28  
我怎么加不进去呢
0 请登录后投票
   发表时间:2011-03-01   最后修改:2011-03-01
用下来感觉还不错。

不知道是否能够提供另外一个接口,通过输入一个FileInputStream来解析JSONString的。

我之前使用的sojo就有这个功能,很方便:


JsonParserGenerate jsonParserGenerate = new JsonParserGenerate(new FileInputStream(ResourceUtils.getFile("classpath:menu.json")));
List<?> menus = (List<?>) jsonParserGenerate.parse();



sojo用了很久,接口比较方便,想完全转到你写的parser上来,简单的接口改改还好,要是像这样从文件读的需求还要我手写去读文件,我就不高兴去改了。呵呵。
0 请登录后投票
   发表时间:2011-03-01  
downpour 写道
用下来感觉还不错。

不知道是否能够提供另外一个接口,通过输入一个FileInputStream来解析JSONString的。

我之前使用的sojo就有这个功能,很方便:


JsonParserGenerate jsonParserGenerate = new JsonParserGenerate(new FileInputStream(ResourceUtils.getFile("classpath:menu.json")));
List<?> menus = (List<?>) jsonParserGenerate.parse();



sojo用了很久,接口比较方便,想完全转到你写的parser上来,简单的接口改改还好,要是像这样从文件读的需求还要我手写去读文件,我就不高兴去改了。呵呵。


嗯,好建议,1.0.2中将会加入进去,之前的版本只考虑性能,之后会逐步补充更多的功能。不过最近好多其他的事情,进度可能会稍慢一些。
0 请登录后投票
   发表时间:2011-03-02  
首先先感谢一下你写的这个顺手的工具
再次提一个bug

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.FIELD })
public @interface JSONField {
	String name() default "";

	boolean serialize() default true;

	boolean deserialize() default true;
}


表示JSONField 可以再field上面注释

但是对AnnotationTest做如下修改
@JSONField(name = "desc")
private String descrition;
结果输出为
{"descrition":"大黄牛","name":"bob.panl","ID":1001}

我个人认为注释写在filed上面比写在getter setter上面更方便


具体修改
package com.alibaba.json.test.bvt;

import junit.framework.Assert;
import junit.framework.TestCase;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;

public class AnnotationTest extends TestCase {

	public void test_codec() throws Exception {
		User user = new User();
		user.setId(1001);
		user.setName("bob.panl");
		user.setDescrition("大黄牛");

		String text = JSON.toJSONString(user);
		System.out.println(text);

		User user1 = JSON.parseObject(text, User.class);

		Assert.assertEquals(user1.getId(), user.getId());
		Assert.assertEquals(user1.getName(), user.getName());
	}

	public static class User {
		private int id;
		private String name;
		
		@JSONField(name = "desc")
		private String descrition;

		@JSONField(name = "ID")
		public int getId() {
			return id;
		}

		@JSONField(name = "ID")
		public void setId(int id) {
			this.id = id;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

	
		public String getDescrition() {
			return descrition;
		}

		
		public void setDescrition(String descrition) {
			this.descrition = descrition;
		}

	}
}

0 请登录后投票
   发表时间:2011-03-03  
轮回啊,罪过罪过。
从功能-》性能;从性能 在回归到功能。
这个最快称呼,也许不久会被最强功能所替代。

软件为一个理由而生,为无尽的需求而活,为膨胀而死。
0 请登录后投票
   发表时间:2011-03-08  
搬个小板凳等代码。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics