如何在Android上使用Json解析嵌套数组

AND4011002849

我现在正在尝试仅获取“ dados”>“ nome”及其“ contatos”>“ nome”,但是我解析的方式得到以下结果:

07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Bill Gates', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Linus Torvalds', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Bill Gates', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Linus Torvalds', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Bill Gates', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Linus Torvalds', telefone=[], email=[]}
07-25 16:58:38.637    1041-1041/com.javatechig.feedreader I/System.out﹕ ClientesContatosModel{id=0, nome='Steve Jobs', telefone=[], email=[]}

“ contatos”名称一直重复到姓氏“ Steve Jobs”为止。为什么这样做,我该如何解决?

这是我完整的Json:

{
    "total": 4,
    "dados": [
        {
            "id": "9",
            "id_rm_empresa": "2",
            "id_rm_tipo_cliente": "1",
            "tipo_pessoa": "PJ",
            "cpf": null,
            "nome": "Microsoft",
            "cnpj": null,
            "ie": null,
            "suframa": null,
            "ramo_de_atividade": null,
            "ano_de_fundacao": null,
            "informacoes_adicionais": "informação do clientes",
            "enderecos": [
                {
                    "id_rm_endereco": "1",
                    "endereco": "Rua Rudolph Diesel",
                    "numero": "174",
                    "complemento": "",
                    "bairro": "Industrial",
                    "cep": "86063-330",
                    "cidade": "Londrina",
                    "estado": "Paraná",
                    "tipo_endereco": "Residencial"
                }
            ],
            "contatos": [
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "1",
                    "id_rm_empresa": "2",
                    "nome": "Bill Gates",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        },
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "9",
                            "id_rm_empresa": "2",
                            "tipo": "Celular",
                            "numero": "(44) 4444-4444",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "7",
                    "id_rm_empresa": "2",
                    "nome": "Linus Torvalds",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "telefones": [
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "1",
                    "numero": "(43)3025-1355",
                    "tipo": "Casa",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "2",
                    "numero": "(43)3000-6562",
                    "tipo": "Trabalho",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "emails": [],
            "criado": "2013-09-01 07:00:00",
            "modificado": "2012-09-04 18:30:34",
            "status": "A"
        },
        {
            "id": "8",
            "id_rm_empresa": "2",
            "id_rm_tipo_cliente": "1",
            "tipo_pessoa": "PJ",
            "cpf": null,
            "nome": "Linux",
            "cnpj": null,
            "ie": null,
            "suframa": null,
            "ramo_de_atividade": null,
            "ano_de_fundacao": null,
            "informacoes_adicionais": "informação do clientes",
            "enderecos": [
                {
                    "id_rm_endereco": "1",
                    "endereco": "Rua Rudolph Diesel",
                    "numero": "174",
                    "complemento": "",
                    "bairro": "Industrial",
                    "cep": "86063-330",
                    "cidade": "Londrina",
                    "estado": "Paraná",
                    "tipo_endereco": "Residencial"
                }
            ],
            "contatos": [
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "1",
                    "id_rm_empresa": "2",
                    "nome": "Bill Gates",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        },
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "9",
                            "id_rm_empresa": "2",
                            "tipo": "Celular",
                            "numero": "(44) 4444-4444",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "7",
                    "id_rm_empresa": "2",
                    "nome": "Linus Torvalds",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "telefones": [
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "1",
                    "numero": "(43)3025-1355",
                    "tipo": "Casa",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "2",
                    "numero": "(43)3000-6562",
                    "tipo": "Trabalho",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "emails": [],
            "criado": "2013-09-01 07:00:00",
            "modificado": "2012-09-04 18:30:34",
            "status": "A"
        },
        {
            "id": "19",
            "id_rm_empresa": "2",
            "id_rm_tipo_cliente": "1",
            "tipo_pessoa": "PJ",
            "cpf": null,
            "nome": "Apple",
            "cnpj": null,
            "ie": null,
            "suframa": null,
            "ramo_de_atividade": null,
            "ano_de_fundacao": null,
            "informacoes_adicionais": "informação do clientes",
            "enderecos": [
                {
                    "id_rm_endereco": "1",
                    "endereco": "Rua Rudolph Diesel",
                    "numero": "174",
                    "complemento": "",
                    "bairro": "Industrial",
                    "cep": "86063-330",
                    "cidade": "Londrina",
                    "estado": "Paraná",
                    "tipo_endereco": "Residencial"
                }
            ],
            "contatos": [
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "1",
                    "id_rm_empresa": "2",
                    "nome": "Bill Gates",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        },
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "9",
                            "id_rm_empresa": "2",
                            "tipo": "Celular",
                            "numero": "(44) 4444-4444",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "7",
                    "id_rm_empresa": "2",
                    "nome": "Linus Torvalds",
                    "cargo": "Diretor",
                    "telefones": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_telefone": "4",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "numero": "(22) 2222-2222",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "emails": [
                        {
                            "id_rm_cliente": "10",
                            "id_rm_contato": "1",
                            "id_rm_email": "5",
                            "id_rm_empresa": "2",
                            "tipo": "Trabalho",
                            "email": "[email protected]",
                            "criado": "2013-09-01 07:00:00",
                            "modificado": "2013-09-03 18:30:30",
                            "status": "A"
                        }
                    ],
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "telefones": [
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "1",
                    "numero": "(43)3025-1355",
                    "tipo": "Casa",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "2",
                    "numero": "(43)3000-6562",
                    "tipo": "Trabalho",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "emails": [],
            "criado": "2013-09-01 07:00:00",
            "modificado": "2012-09-04 18:30:34",
            "status": "A"
        },
        {
            "id": "10",
            "id_rm_empresa": "2",
            "id_rm_tipo_cliente": "1",
            "tipo_pessoa": "PJ",
            "cpf": null,
            "nome": "Webee",
            "cnpj": null,
            "ie": null,
            "suframa": null,
            "ramo_de_atividade": null,
            "ano_de_fundacao": null,
            "informacoes_adicionais": "informação do clientes",
            "enderecos": [
                {
                    "id_rm_endereco": "1",
                    "endereco": "Rua Rudolph Diesel",
                    "numero": "174",
                    "complemento": "",
                    "bairro": "Industrial",
                    "cep": "86063-330",
                    "cidade": "Londrina",
                    "estado": "Paraná",
                    "tipo_endereco": "Residencial"
                }
            ],
            "contatos": [
                {
                    "id_rm_cliente": "10",
                    "id_rm_contato": "1",
                    "id_rm_empresa": "2",
                    "nome": "Steve Jobs",
                    "cargo": "Diretor",
                    "telefones": {
                        "total": 1,
                        "dados": [
                            {
                                "id_rm_cliente": "10",
                                "id_rm_contato": "1",
                                "id_rm_telefone": "4",
                                "id_rm_empresa": "2",
                                "tipo": "Trabalho",
                                "numero": "(22) 2222-2222",
                                "criado": "2013-09-01 07:00:00",
                                "modificado": "2013-09-03 18:30:30",
                                "status": "A"
                            }
                        ]
                    },
                    "emails": {
                        "total": 1,
                        "dados": [
                            {
                                "id_rm_cliente": "10",
                                "id_rm_contato": "1",
                                "id_rm_email": "5",
                                "id_rm_empresa": "2",
                                "tipo": "Trabalho",
                                "email": "[email protected]",
                                "criado": "2013-09-01 07:00:00",
                                "modificado": "2013-09-03 18:30:30",
                                "status": "A"
                            }
                        ]
                    },
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "telefones": [
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "1",
                    "numero": "(43)3025-1355",
                    "tipo": "Casa",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                },
                {
                    "id_rm_empresa": "2",
                    "id_rm_cliente": "10",
                    "id_rm_telefone": "2",
                    "numero": "(43)3000-6562",
                    "tipo": "Trabalho",
                    "criado": "2013-09-01 07:00:00",
                    "modificado": "2013-09-03 18:30:30",
                    "status": "A"
                }
            ],
            "emails": [],
            "criado": "2013-09-01 07:00:00",
            "modificado": "2013-09-03 18:30:30",
            "status": "A"
        }
    ]
}

这是我到目前为止尝试过的:

contatoList = new ArrayList<ClientesContatosModel>();
    JSONArray dados = json.getJSONArray("dados");
    feedList = new ArrayList<ClientesModel>();

    // parsing json object
    for (int i = 0; i < dados.length(); i++) {

        JSONObject item = dados.getJSONObject(i);


        ClientesModel mClientesModel = new ClientesModel();


        /* cadastra os dados necessários no objeto no modelo */

        mClientesModel.setNome(item.optString("nome"));
        mClientesModel.setTipo_pessoa(item.optString("tipo_pessoa"));
        mClientesModel.setInformacoes_adicionais(item.optString("informacoes_adicionais"));
        mClientesModel.setCpf(item.optString("cpf"));
        mClientesModel.setCnpj(item.optString("cnpj"));
        JSONArray contatos = item.getJSONArray("contatos");


            for (int j = 0; j < contatos.length(); j++) {

                ClientesContatosModel mClientesContatoModel = new ClientesContatosModel();

                JSONObject data = contatos.getJSONObject(j);

                mClientesContatoModel.setNome(data.optString("nome"));


                mClientesContatoModel.setCargo(data.optString("cargo"));

                contatoList.add(mClientesContatoModel);

            }


            feedList.add(mClientesModel);

            System.out.println(contatoList);


    }
马可·阿西诺(Marco Acierno)

移动

ClientesContatosModel mClientesContatoModel = new ClientesContatosModel();

contatoList.add(mClientesContatoModel);

for (int j = 0; j < contatos.length(); j++) {

例:

for (int j = 0; j < contatos.length(); j++) {
 ClientesContatosModel mClientesContatoModel = new ClientesContatosModel();
 contatoList.add(mClientesContatoModel);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Google Apps脚本中使用嵌套数组解析JSON对象

来自分类Dev

如何使用嵌套数组将JSON解析为对象

来自分类Dev

如何使用 JavaScript 解析嵌套数组中的 JSON 值

来自分类Dev

在android中解析json嵌套数组

来自分类Dev

使用JQuery解析JSON嵌套数组

来自分类Dev

如何从嵌套数组中提取JSON数据?使用Android

来自分类Dev

使用VBA和JSON解析嵌套数组

来自分类Dev

使用可解码(嵌套数组)解析不同的 JSON

来自分类Dev

解析多维JSON数组,嵌套数组

来自分类Dev

如何使用嵌套数组解析JSON并将特定属性传递给.NET Core中的视图?

来自分类Dev

如何在Android中解析嵌套的JSON数组

来自分类Dev

如何在Android中解析嵌套的JSON数组

来自分类Dev

MongoDB如何在文档的嵌套数组上搜索

来自分类Dev

用Gson解析嵌套数组的json

来自分类Dev

如何在函数中使用嵌套数组作为值?

来自分类Dev

嵌套数组解析

来自分类Dev

如何使用JSONObject(org.json)获取嵌套数组

来自分类Dev

如何在Android中使用Retrofit解析嵌套的json对象

来自分类Dev

在嵌套数组上使用$ unwind的后果?

来自分类Dev

Javascript 在嵌套数组上使用 .filter

来自分类Dev

如何解析仅包含没有属性名称的数组和嵌套数组的 JSON 数据?

来自分类Dev

如何创建嵌套数组JSON?

来自分类Dev

如何使用elemMatch匹配嵌套数组

来自分类Dev

如何使用Mongoose更新嵌套数组?

来自分类Dev

如何使用Lodash过滤嵌套数组?

来自分类Dev

如何使用嵌套数组加载 CSV

来自分类Dev

如何使用 setState 填充嵌套数组?

来自分类Dev

Excel VBA:如何使用嵌套数组

来自分类Dev

如何使用 postgresql 构造嵌套数组

Related 相关文章

热门标签

归档