获取空的JSONObject值

时间:2018-06-20 12:56:00

标签: java android json null

我正在尝试创建以下代码的JSONObject。但是Android Studio表示它为null。我的错误在哪里?

我尝试了两种不同的创建方式。

第一

String JSONString = "{" +
            "  \"retorno\": {" +
            "    \"empresas\": [" +
            "      {" +
            "        \"cnpj\": \"05.743.645/0001-38\"," +
            "        \"razao_social\": \"GISELA TRANSPORTES E DISTRIBUIDORA DE FLORES LTDA - ME\"," +
            "        \"endereco\": \"EST RSC-453 (ROTA DO SOL) KM 93,8\"," +
            "        \"bairro\": \"BAIRRO ALFANDEGA\"," +
            "        \"numero\": 26," +
            "        \"complemento\": \"\"," +
            "        \"telefone\": \"3462 2749\"," +
            "        \"celular\": \"\"," +
            "        \"email\": \"giselaflores@giselaflores.com.br\"" +
            "      }" +
            "    ]" +
            "  }" +
            "}";
try {
        JSONObject jsonEmpresa = new JSONObject(JSONString);
        String email = jsonEmpresa.getString("email");
} catch (JSONException e) {
        e.printStackTrace();
    }

第二

try {
        JSONObject jsonEmpresa = new JSONObject();
        jsonEmpresa.put("cnpj", "05.743.645/0001-38");
        jsonEmpresa.put("razao_social", "GISELA TRANSPORTES E DISTRIBUIDORA DE FLORES LTDA - ME");
        jsonEmpresa.put("endereco", "EST RSC-453 (ROTA DO SOL) KM 93,8");
        jsonEmpresa.put("bairro", "BAIRRO ALFANDEGA");
        jsonEmpresa.put("numero", 26);
        jsonEmpresa.put("complemento", "");
        jsonEmpresa.put("telefone", "3462 2749");
        jsonEmpresa.put("celular", "");
        jsonEmpresa.put("email", "giselaflores@giselaflores.com.br");

        String email = jsonEmpresa.getString("email");
} catch (JSONException e) {
        e.printStackTrace();
    }

字符串电子邮件的值为 null ,应为 giselaflores@giselaflores.com.br

当我尝试调试时,收到消息 jsonEmpresa:“空”

1 个答案:

答案 0 :(得分:1)

要获取给定示例的电子邮件价值,您应该喜欢

 String JSONString = "{" +
                "  \"retorno\": {" +
                "    \"empresas\": [" +
                "      {" +
                "        \"cnpj\": \"05.743.645/0001-38\"," +
                "        \"razao_social\": \"GISELA TRANSPORTES E DISTRIBUIDORA DE FLORES LTDA - ME\"," +
                "        \"endereco\": \"EST RSC-453 (ROTA DO SOL) KM 93,8\"," +
                "        \"bairro\": \"BAIRRO ALFANDEGA\"," +
                "        \"numero\": 26," +
                "        \"complemento\": \"\"," +
                "        \"telefone\": \"3462 2749\"," +
                "        \"celular\": \"\"," +
                "        \"email\": \"giselaflores@giselaflores.com.br\"" +
                "      }" +
                "    ]" +
                "  }" +
                "}";
        try {
            JSONObject jsonEmpresa = new JSONObject(JSONString);
            JSONObject retorno = jsonEmpresa.getJSONObject("retorno");
            JSONArray empresas = retorno.getJSONArray("empresas");
            JSONObject empresa =  empresas.getJSONObject(0);

            String email =empresa.getString("email");

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