我在scala中有一個陣列,如下所示:
Input = [(KeyID, Field_1, Field_2, { 'id': 1, 'name': 'John'},{ 'id': 2, 'name': 'Dani'})]
本質上,我想提取欄位:Field_1、Field_2 和 JSON 作為欄位本身:
Field_1, Field_2, { 'id': 1, 'name': 'John'},{ 'id': 2, 'name': 'Dani'}
我試圖在最后洗掉 () 并開始使用:
Input.replaceAll("[()]","")
但是有時json中也包含括號,如何獨立提取欄位,如何保留json結構?
通過嘗試拆分字串,我得到:
Field_1, Field_2, id, 1, name, John, id, 2, name, Dani
uj5u.com熱心網友回復:
我不確定這是否真的回答了這個問題,但我希望這會有所幫助。
假設您有以下資料:
val Input = Array((KeyID, Field_1, Field_2, "{ 'id': 1, 'name': 'John'}", "{ 'id': 2, 'name': 'Dani'}"))
Array
是 Java 型別,所以首先要做的是轉換為 Scala List
。然后,您可以使用簡單的map
.
val input = Input.toList
val keys = input.map(_._1)
val field1 = input.map(_._2)
val field2 = input.map(_._3)
val json1 = input.map(_._4)
val json2 = input.map(_._5)
每個都val
將包含一個List
特定欄位。
如果您想處理 JSON 本身,可以使用各種 Scala 庫來完成。選擇一個,然后如果您在使其作業時遇到特定問題,請回傳。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/515731.html
標籤:斯卡拉