How to parse on Json Android

2

I need to parse to the following json

{
    "rssEmpregados": {
        "pesquisa": "marcia",
        "registoInicial": "0",
        "ordem": "ASC",
        "parametrosList": [
            {
                "parametros": [],
                "tabela": "EMPREGADOS_CRSS",
                "coluna1": "CODIGO_CRSS",
                "coluna2": "DESCRICAO",
                "coluna": "CODIGO_CRSS"
            },
            {
                "parametros": [],
                "tabela": "EMPREGADOS_FORMAS_PAGAMENTO",
                "coluna1": "CODIGO_FORMA_PAGAMENTO",
                "coluna2": "DESCRICAO",
                "coluna": "CODIGO_FORMA_PAGAMENTO"
            }
        ]
    }
}

I've already done the code for the initial part, but I'm having trouble with the rest.

try {
    JSONObject js = new JSONObject();
    JSONObject rssEmpregados = new JSONObject();
    rssEmpregados.put("pesquisa", procuraTextoEt.getText());
    rssEmpregados.put("registoInicial", "0");
    rssEmpregados.put("ordem", "ASC");
    js.put("rssEmpregados", rssEmpregados);
    Log.e("params", rssEmpregados.toString());

} catch (JSONException e) {
    e.printStackTrace();
}
    
asked by anonymous 29.11.2017 / 20:17

4 answers

1

After a few searches I got what I wanted, I leave here for the future someone who needs it.

try {
           JSONArray parametrosList = new JSONArray();
           JSONObject rssEmpregados = new JSONObject();
           rssEmpregados.put("pesquisa", procuraTextoEt.getText());
           rssEmpregados.put("registoInicial", "0");
           rssEmpregados.put("ordem", "ASC");
           rssEmpregados.put("parametrosList", parametrosList);
           js.put("rssEmpregados", rssEmpregados);

           JSONObject codigoEstabelecimento = new JSONObject();
           codigoEstabelecimento.put("parametros", "[]");
           codigoEstabelecimento.put("tabela", "ESTABELECIMENTOS");
           codigoEstabelecimento.put("coluna1", "CODIGO_ESTABELECIMENTO");
           codigoEstabelecimento.put("coluna2", "DESCRICAO");
           codigoEstabelecimento.put("coluna", "CODIGO_ESTABELECIMENTO");
           parametrosList.put(codigoEstabelecimento);


           JSONObject codigoSituacao = new JSONObject();
           codigoSituacao.put("parametros", "[]");
           codigoSituacao.put("tabela", "EMPREGADOS_SIT_PROFISSIONAIS");
           codigoSituacao.put("coluna1", "CODIGO_SITUACAO");
           codigoSituacao.put("coluna2", "DESCRICAO");
           codigoSituacao.put("coluna", "CODIGO_SITUACAO");
           parametrosList.put(codigoSituacao);

Thank you all.

    
30.11.2017 / 16:23
1

Put everything inside a JSONARRAY. Here is an example:

try {
                        JSONArray jsArr = new JSONArray();
                        JSONObject js = new JSONObject();
                        JSONObject rssEmpregados = new JSONObject();
                        rssEmpregados.put("pesquisa", procuraTextoEt.getText());
                        rssEmpregados.put("registoInicial", "0");
                        rssEmpregados.put("ordem", "ASC");
                        js.put("rssEmpregados", rssEmpregados);
                        jsArr.put(js);
                        js = new JSONObject();
                        Log.e("params", rssEmpregados.toString());

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

This code will mount an array for 1 item json, to put more is to put a loop there in the middle (for or while)

    
29.11.2017 / 20:39
1

Dude, start by indenting your Json formatting. I think this makes it easier to read the structure of the object you need

{ 
    "rssEmpregados": 
    { 
        "pesquisa":"marcia", 
        "registoInicial":"0", 
        "ordem":"ASC",  
        "parametrosList" :[ 
            {
                "parametros":[],
                "tabela" : "EMPREGADOS_CRSS",
                "coluna1" : "CODIGO_CRSS",
                "coluna2" : "DESCRICAO",
                "coluna" : "CODIGO_CRSS"
            },
            {
                "parametros":[],
                "tabela" : "EMPREGADOS_FORMAS_PAGAMENTO",
                "coluna1" : "CODIGO_FORMA_PAGAMENTO",
                "coluna2" : "DESCRICAO",
                "coluna" : "CODIGO_FORMA_PAGAMENTO"
            }
        ]
    }
}

From this point you start to build your properties. You need to be aware of Arrays only, for example in "ParametersList". There you will need to pass a JSONArray, which has several JSONObject.

    
29.11.2017 / 20:46
1

Use GSON .

Mount an object exactly in the structure it needs with implements Serializable

The sub-items with list occurrence must be inside Arrays example: ArrayLists<parametrosList> ...

Here you easily convert to:

gson.toJson(objetoX); //retorna um json em string

objeto= gson.fromJson("seu json aqui", ObjetoX.class); //retorna um objeto
    
01.07.2018 / 13:16