有人特定自己实现了一套JSON转换工具,其实必要性不是很大,可以直接使用JSON的官方实现,有各种语言的实现,当然也有Java实现。都是比较完备的实现。
当然,有时候也有必要自己实现一套JSON机制。
当格式固定,并只用到几种简单转换机制时,用JSON的官方Java实现,可能太重量级了,还要熟悉不少API,干脆自己实现得了。 实践中碰到这种情况也是很自然的。
话说回来,这里还是谈论 JSON的官方Java实现。
JSONTokener,是用于字符处理的。传入的并不是一个String,而是 reader,这种做法更合适于做大数据处理,更底层和通用化?
this.reader = reader.markSupported() ? reader : new BufferedReader(reader); // 还做了是否支持缓存读的判断?
如果仅仅是一般的String,也可以转换为Reader...
Exception里面可以放一个属性 Throwable,初始化对象时可以用到,也可以有getCause()方法
while (s.endsWith("0")) {
s = s.substring(0, s.length() - 1);
} // 开源代码,并不完全是毫无瑕疵的精品。没有必要每次都做一次 substring的。 每次都要重新构建一个 字符串对象。其实可以修改为。
index = s.length()-1;
while(s.charAt(index) == "0") {
index --;
}
s = s.substring(0, index); // 这样的代码,效率会稍微高一些吧。