###JacksonParser
字符串到数值类型 的转换
几种数值类型都调整,都增加
| VALUE_STRING
,如:
```
package org.apache.spark.sql.json
case (VALUE_NUMBER_INT | VALUE_NUMBER_FLOAT | VALUE_STRING, FloatType) =>
parser.getFloatValue
```
###
DateUtils
日期时间类型解析
默认支持格式:
2015-03-05T08:25:55.769Z
增加没有毫秒的数据处理:2015-03-05T08:33:45Z
```
package
org.apache.spark.sql.catalyst.util
if (s.endsWith("Z")) {
// this is zero timezone of ISO8601
if (s.length==24) {
stringToTime(s.substring(0, s.length - 1) + "GMT-00:00")
}
else{
//hongliangpan add 此种格式,没有毫秒 2015-03-05T08:33:45Z
stringToTime(s.substring(0, s.length - 1) + ".000GMT-00:00")
}
}
```
###发布说明
```
替换官方代码
或先加载二次开发包
```
sql 加上where 条件后,就不能查询出数据,原因还是 数值类型 用双引号的问题
"stayTime":"33.015",
修改ParserBase 添加
VALUE_STRING处理分支
```
package com.fasterxml.jackson.core.base;
else if(this._currToken == JsonToken.VALUE_STRING) {
this._parseSlowFloat(expType);
} else {
this._reportError("Current token (" + this._currToken + ") not numeric, can not use numeric value accessors");
}
```