Java 获取空JSONObject值
我正试图创建一个JSONObject,代码如下。但是Android Studio说它是空的。我的错在哪里 我尝试了两种不同的方法来创建它 第一 第二 字符串电子邮件的值为空,应为空giselaflores@giselaflores.com.br.Java 获取空JSONObject值,java,android,json,null,Java,Android,Json,Null,我正试图创建一个JSONObject,代码如下。但是Android Studio说它是空的。我的错在哪里 我尝试了两种不同的方法来创建它 第一 第二 字符串电子邮件的值为空,应为空giselaflores@giselaflores.com.br. 当我尝试调试时,我收到一条消息jsonEmpresa:“null”。要获取给定示例的电子邮件值,您应该 String JSONString = "{" + " \"retorno\": {" +
当我尝试调试时,我收到一条消息jsonEmpresa:“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);
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();
}
它在哪里?在生成变量后,您没有显示代码。您是否查看了解析异常的logcat?顺便说一句,您在这里构建了两个不同的对象,因此可以显示一个?
String email=jsonEmpresa.getString(“email”)代码>电子邮件:null jsonEmpresa:“null”对于第一个块,不,您的对象中没有电子邮件密钥。您必须先获得retino
,然后获得empresas
。。。对于第二个示例,这应该会返回电子邮件键的结果。再次,您在哪里显示电子邮件?请显示所有相关代码的列表。。。或者,请在收到电子邮件变量后立即添加Log.d行,并在第JSONArray empresas=returno.getJSONArray(“empresas”)行显示您的logcat outputI got java.lang.NullPointerException
jsonEmpresa和returno都为null。@LucasPostinger您应该在androidTest文件夹下运行它,如果您在测试端运行它,它将抛出not mocked异常
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();
}
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();
}