String 如何将数据字符串解析为键值对并将其附加到;把「;方法?
我有一个数据字符串,希望将其解析为键/值对,然后将其附加到“put”方法,然后编码到GenericRecord。然而,它不起作用,如果能给我一个如何做的提示,我将不胜感激 我将一个字符串转换为字符串列表,但这里似乎只需要两个字符串。如果您有任何关于如何解决这个问题的想法,我将不胜感激String 如何将数据字符串解析为键值对并将其附加到;把「;方法?,string,scala,key-value,put,String,Scala,Key Value,Put,我有一个数据字符串,希望将其解析为键/值对,然后将其附加到“put”方法,然后编码到GenericRecord。然而,它不起作用,如果能给我一个如何做的提示,我将不胜感激 我将一个字符串转换为字符串列表,但这里似乎只需要两个字符串。如果您有任何关于如何解决这个问题的想法,我将不胜感激 data = "{"name":"John", "surname":"Peterson", "country":"France", “amount”: null}" val parsedData = data.s
data = "{"name":"John", "surname":"Peterson", "country":"France", “amount”: null}"
val parsedData = data.split(",").map(x => {val y = x.split(":");(y(0),y(1))}).map(x => (x._1,x._2)).toList
//此处的输出类型列表[(字符串,字符串)]
//“put”方法的输入-公共void put(字符串键,对象值)
预期结果:要动态追加来自消息的数据,请执行以下操作:
rec.put("name", "John")
rec.put("surname", "Peterson")
rec.put("country", "France")
rec.put(“amount”, null)
我认为这是一种更优雅的方式来满足你的要求
import org.json4s._
import org.json4s.jackson.JsonMethods._
implicit val formats = org.json4s.DefaultFormats
val data = "{"name":"John", "surname":"Peterson", "country":"France", “amount”: null}"
val parsedData: Map[String, String] = parse(data).extract[Map[String, String]]
parsedData.foreach { case (key, value) => rec.put(key, value) }
parsedData.foreach{case(key,value)=>rec.put(key,value)
。感谢您对json工具的帮助和想法!
import org.json4s._
import org.json4s.jackson.JsonMethods._
implicit val formats = org.json4s.DefaultFormats
val data = "{"name":"John", "surname":"Peterson", "country":"France", “amount”: null}"
val parsedData: Map[String, String] = parse(data).extract[Map[String, String]]
parsedData.foreach { case (key, value) => rec.put(key, value) }