I've got a JSOn File:
JsonString="""{"schema":{"type":"struct","name":"emp_table","fields":[{"field":"emp_id","type":"string"},{"field":"emp_name","type":"String"},{"field":"city","type":"string"},{"field":"emp_sal","type":"string"},{"field":"manager_name","type":"string"},]},"payload":{"emp_id":"1","emp_name":"abc","city":"NY","emp_sal":"100000","manager_name":"xyz"}}"""
I want to parse it and get the values into an Array(1,abc,NY,100000,xyz)
I used Lift Json API in Scala:
case class Emp(val emp_id: String, val emp_name: String, val city: String, val emp_sal: String, val manager_name: String)
val stocks = ArrayBuffer[Emp]()
val json = JsonParser.parse(EmpString)
val elements = (json \\ "payload").children
for ( acct <- elements ) {
val stock = acct.extract[Emp]
stocks += stock
}
stocks.toArray
}
but its giving me as
Array[Emp] = Array(Emp(1,abc,NY,100000,xyz))
Can anyone guide me to parse this Json file maybe using any other API like GSON or jackson?
payloadobject. You can construct an array of the object fields manually afterwards, likeArray(stock.emp_id, stock.emp_name, stock.city, stock.emp_sal, stock.manager_name).