Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package core
- import org.json.JSONObject
- open class BaseVO {
- val fields = mutableMapOf<String, Any>()
- constructor(jOb : JSONObject){
- ///adicionei este metodo para poder fazer recursivo
- jsonToFields(jOb)
- println(fields)
- }
- /**
- * irá ser invocado até terminar de listar o json
- */
- private fun jsonToFields(jOb : JSONObject){
- jsonToFields(jOb,"")
- }
- /**
- * o adjunct insere um valor para cocatenar os valores e evitar sobrepor itens
- */
- private fun jsonToFields(jOb : JSONObject,adjunct: String = ""){
- jOb.names().forEach{ i ->
- if (jOb.optJSONObject(i.toString()) !=null ) {
- jsonToFields( jOb.optJSONObject( i.toString() ), i.toString())
- }else{
- addField( if (adjunct.isNotEmpty()){ adjunct + "_" } else { ""} + i.toString(),jOb.get( i.toString() ) )
- }
- }
- }
- fun addField(fieldName: String, fieldValue: Any){
- fields.put(fieldName,fieldValue)
- }
- fun getField(fieldName: String): Any? {
- return fields.get(fieldName)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement