簡體   English   中英

使用JSON4S在Scala中解析JSON

[英]Parse JSON in Scala using JSON4S

我有一些JSON格式的響應數據:

{ "items" : 
    [
    {"commentId" : "28444760","userId" : "142607","userIP" : "","userName" : "Rock'n'Roll ","userAvatar" : "/i/default_userpic.png ","userIsBlock" : false,"userBanDate" : "",
    "userCountry" : "http://ikor.ill.in.ua/f/UA.gif","date" : "16.02.2017, 17:07","text" : "txt","rate" : 2,"isLikeExist" : false,"childComments" : []}
    ]
}

我想將其解析為列表。 例如,要提取commentId ,請使用:

val js = parse(json)\\"items"
val commentId:List[String] = js\\"commentId"\ classOf[JString]

我得到帶有ID的列表

當我嘗試解析date我得到:

List(16.02.2017, 17:24, 16.02.2017, 17:23)

如何返回格式為List(“ date time”)的日期列表?

這是您可以使用格式規范解析日期/時間的方法:

def parseDT(s: String) = {
 val fmt = "dd.MM.yyyy, HH:mm"
 val df = java.time.format.DateTimeFormatter.ofPattern(fmt)
 java.time.LocalDateTime.parse(s, df)
}

因此,從JSON(以字符串形式)獲取日期后,將其解析為: val dates = datesFromJSON.map(parse(_))

如果您只想從日期字符串中刪除逗號,則可以執行val dates = datesFromJSON.map(s => s.replaceAll(",",""))

我的解決方案是:

val dateFormat  = new SimpleDateFormat("dd.MM.yyyy, HH:MM")
val date:List[java.util.Date] = (js\\"date").children.map(x=>dateFormat.parse(x.values.toString))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM