使用如下方式转换的时候,对象的属性必须加上属性的标签,否则数据无法引入。
package flinkonkafka
import com.alibaba.fastjson.JSON
import scala.beans.BeanProperty
import scala.collection.mutable.ListBuffer
object test2{
def main(args: Array[String]) = {
//第一种方式
import scala.collection.mutable.ListBuffer
val result11: result1 = result1("Sister Ma", "Yoga")
val result12: result1 = result1("Brother Bin", "work out")
val result13: result1 = result1("Big chenyu","jokes")
val result1s = ListBuffer(result11, result12, result13)
val jstr: String = JSON.toJSONString(result1s.toArray,false)
println(jstr)
//第2种方式
// import org.json4s.{Formats,NoTypeHints}
// import org.json4s.jackson.Serialization
// import org.json4s.jackson.Serialization.write
// // 需要添加隐式转换
// implicit val formats:AnyRef with Formats = Serialization.formats(NoTypeHints)
// // 由scala对象转换为Json字符串
// val dstr = write(result1s)
// println(dstr)
}
}
case class result1(@BeanProperty code:String,@BeanProperty value:String)
case class datar(@BeanProperty data:Object)