大数据全系列 教程
1869个小节阅读:466.9k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
xxxxxxxxxx
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
xxxxxxxxxx
package com.itbaizhan.spark
import com.alibaba.fastjson.JSON
class HaiKouOrderParser extends OrderParser {
override def parser(orderInfo: String): TravelOrder = {
val jSONObject = JSON.parseObject(orderInfo)
val orderInfos = jSONObject.getJSONObject("data")
val order = new HaiKouTravelOrder()
if (orderInfos == null || (orderInfos.size != 24)) {
return null;
}
order.orderId = orderInfos.getString("order_id")
order.productId = orderInfos.getString("product_id")
order.cityId = orderInfos.getString("city_id")
order.district = orderInfos.getString("district")
order.county = orderInfos.getString("county")
order.orderTimeType = orderInfos.getString("type")
order.comboType = orderInfos.getString("combo_type")
order.trafficType = orderInfos.getString("traffic_type")
order.passengerCount = orderInfos.getString("passenger_count")
order.driverProductId = orderInfos.getString("driver_product_id")
order.startDestDistance = orderInfos.getString("start_dest_distance")
order.arriveTime = orderInfos.getString("arrive_time")
order.departureTime = orderInfos.getString("departure_time")
order.preTotalFee = orderInfos.getString("pre_total_fee")
order.normalTime = orderInfos.getString("normal_time")
order.bubbleTraceId = orderInfos.getString("bubble_trace_id")
order.productLlevel = orderInfos.getString("product_1level")
order.destLng = orderInfos.getString("dest_lng")
order.destLat = orderInfos.getString("dest_lat")
order.startingLng = orderInfos.getString("starting_lng")
order.startingLat = orderInfos.getString("starting_lat")
order.year = orderInfos.getString("year")
order.month = orderInfos.getString("month")
order.day = orderInfos.getString("day")
//订单数据中没有实际产生时间,可以按照订单出发时间作为订单的产生时间
order.createDay = order.departureTime.split(" ")(0)
order.createTime = order.departureTime.split(" ")(1)
order
}
}