【发布时间】:2020-12-18 00:16:15
【问题描述】:
我是 Scala 新手。我想在 scala 中解析 JSON 数据。
我想循环这些数据,并在每次迭代中从值中提取 id,v,q 和 t 的数据
我正在使用下面的代码将其解析为 JSON
import scala.util.parsing.json._
val data =
"""
{
"timestamp":
1518501114949
, "values":
[
{
"id":
"abc"
, "v":
0
, "q":
true
, "t":
1518501114487
}
,
{
"id":
"xyz"
, "v":
15
, "q":
true
, "t":
1518501114494
}
]
}
"""
val parsed = JSON.parseFull(data)
我得到如下输出
Some(Map(timestamp -> 1.518501114949E12, values -> List(Map(id -> abc, v -> 0.0, q -> true, t -> 1.518501114487E12), Map(id -> xyz, v -> 15.0, q -> true, t -> 1.518501114494E12), Map(id -> klm, v -> 12.6999998, q -> true, t -> 1.518501114487E12), Map(id -> 901.Hotmelt.PSA.0759_PSAM01_Vac, v -> 1.0, q -> true, t -> 1.518501114494E12))))
但我不知道如何循环并获取之后的所有值
我不明白为什么时间戳被转换为 E12 值
【问题讨论】:
-
ujson 库是解析 JSON 的现代最佳解决方案。详情请参阅我的回答。
标签: scala spark-streaming