fastjson for android名不副实

今天在尝试优化json的序列化和反序列化。发现一个陷阱:
android自带的json比fastjson(fastjson-1.1.43)解析在9k(及以下)大小字符串输入下性能要高10倍,在解析19k大小字符串时性能高3倍。如下图所示:

三星Note 3:
note 3

一加1代:
note 3

详细数据如下:
json字符串体积: 6k,android终端:三星note3

09-22 11:42:55.234: D/faywong(7810): org.json.JSONObject consumes: 1ms to parse json
09-22 11:42:55.254: D/faywong(7810): com.alibaba.fastjson.JSONObject consumes: 15ms to parse json
json字符串体积: 9k,android终端:三星note3
09-22 11:11:45.944: D/faywong(26631): org.json.JSONObject consumes: 1ms to parse json
09-22 11:11:45.954: D/faywong(26631): com.alibaba.fastjson.JSONObject consumes: 15ms to parse json
json字符串体积: 19k,android终端:三星note3
09-22 11:48:15.844: D/faywong(11569): org.json.JSONObject consumes: 6ms to parse json
09-22 11:48:15.864: D/faywong(11569): com.alibaba.fastjson.JSONObject consumes: 19ms to parse json
json字符串体积: 6k,android终端:一加1代
09-22 11:39:55.304: D/faywong(12964): org.json.JSONObject consumes: 1ms to parse json
09-22 11:39:55.315: D/faywong(12964): com.alibaba.fastjson.JSONObject consumes: 11ms to parse json
json字符串体积: 9k,android终端:一加1代
09-22 11:30:06.378: D/faywong(11412): org.json.JSONObject consumes: 1ms to parse json
09-22 11:30:06.395: D/faywong(11412): com.alibaba.fastjson.JSONObject consumes: 17ms to parse json
json字符串体积: 19k,android终端:一加1代
09-22 11:53:30.551: D/faywong(14248): org.json.JSONObject consumes: 3ms to parse json
09-22 11:53:30.564: D/faywong(14248): com.alibaba.fastjson.JSONObject consumes: 13ms to parse json

总结下json序列化和反序列化的使用经验:
在能控制json序列化和反序列化的整个闭环中(比如服务端+客户端)使用fastjson之类的方案是有优势的;如果你只是在其中的一环,并不知道前边的json是谁以怎样的方式序列化/反序列化得来,建议你使用org.json版本,这样性能不至于很差。