logo

Como obter valor do objeto JSON em exemplo Java

JSON é um formato de intercâmbio de dados. É um formato leve e independente de idioma amplamente utilizado. É capaz de converter dados de JSON para XML. Java fornece um grande número de pacotes JSON. Com a ajuda desses pacotes, podemos recuperar ou obter valor de JSONObject. Usamos os dois pacotes JSON diferentes org.json e org.json.simple . Nesta seção, aprenderemos como obter valores de JSONObject em Java com um exemplo adequado.

O que é JSONObject em Java?

Em Java , JSONObject é uma coleção não ordenada que contém dados na forma de nome-valor pares. É denotado como a string envolvida por um par de chaves com dois pontos entre os nomes e valores. Sua forma interna é um objeto que possui métodos get e put para acessar os valores por nome e adicionar e substituir valores por nome.

 { 'first name': 'John', 'city': 'Florida', 'age': '22' }, 

No exemplo acima, nome, cidade, e idade são nomes e João, Flórida, e 22 são seus valores, respectivamente.

Classe Java JSONObject

Java fornece a classe JSONObject definida no arquivo org.json pacote. Denota um valor JSONObject imutável (incontestável). O valor do objeto é um não ordenado grupo de nome-valor pares. Ele também fornece Mapa para visualizar o mapeamento nome-valor do objeto JSON que não pode ser modificado. Os valores JSONObject podem ser Booleano, String, Número, JSONObject, JSONArray, JSONNumber, JSONString, etc. Esses valores JSONObject podem ser acessados ​​usando vários métodos de acesso correspondentes.

O pegar() O método retorna um valor se for encontrado e lança uma exceção se o valor não for encontrado. Enquanto o optar() método retorna o valor padrão em vez de lançar a exceção. O valor pode ser nulo. É a principal diferença entre esses dois métodos. Portanto, esses dois métodos são úteis para obter o valor do JSONObject. Podemos lançar ou consultar um objeto retornado pelos métodos genéricos get() e opt().

O JSONObject classe contém os seguintes métodos que podemos usar para obter valores do JSONObject.

bash para loop

Método getBoolean()

O método analisa um nome de parâmetro do tipo String. Ele retorna um valor booleano do mapeamento relacionado para o parâmetro de análise. Ele retorna verdadeiro se o mapeamento associado for JsonValue.TRUE e retorna falso se o mapeamento associado for JsonValue.FALSE.

Sintaxe:

 boolean getBoolean(String name) 

Isso joga Null Pointer Exception se o nome especificado não tiver mapeamento. Também joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonValue.TRUE ou JsonValue.FALSE.

Método getInt()

É usado para obter o JsonNumber(nome).intValue(). O método analisa um nome de parâmetro do tipo String. Retorna um valor inteiro do mapeamento associado ao parâmetro analisado.

Sintaxe:

o que torna um pc rápido
 int getInt(String name) 

Isso joga Null Pointer Exception se o nome especificado não tiver mapeamento. Também joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonNumber.

Método getJsonArray()

É usado para obter o JsonArray obtém(nome). O método analisa um nome de argumento do tipo String cujo valor associado deve ser retornado. Ele retorna um valor de matriz do mapeamento associado para o parâmetro analisado. Retorna nulo se o objeto não tiver mapeamento para o parâmetro.

Sintaxe:

 JsonArray geJsonArray(String name) 

Isso joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonArray.

Método getJsonNumber()

É usado para obter o (JsonNumber)get(nome). O método analisa um nome de argumento do tipo String cujo valor relacionado deve ser retornado. Ele retorna o valor numérico do mapeamento associado para o parâmetro analisado. Retorna nulo se o objeto não tiver mapeamento para o parâmetro.

abrir menu de configurações

Sintaxe:

 JsonNumber geJsonNumber(String name) 

Isso joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonNumber.

Método getJsonObject()

É usado para obter o (JsonObject)get(nome). O método analisa um nome de argumento do tipo String cujo valor relacionado deve ser retornado. Retorna o objeto do mapeamento associado para o parâmetro de análise. Retorna nulo se o objeto não tiver mapeamento para o parâmetro.

Sintaxe:

 JsonObject geJsonObject(String name) 

Isso joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonObject.

matriz de strings em c

Método getJsonString()

É usado para obter o (JsonString)get(nome). O método analisa um nome de argumento do tipo String cujo valor relacionado deve ser retornado. Ele retorna o valor String do mapeamento associado ao parâmetro analisado. Retorna nulo se o objeto não tiver mapeamento para o parâmetro.

Sintaxe:

 JsonString geJsonString(String name) 

Isso joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonString.

Método getString()

É usado para obter o getJsonString(nome).getString() . O método analisa um nome de argumento do tipo String cujo valor relacionado deve ser retornado como String. Ele retorna o valor String do mapeamento associado ao parâmetro analisado.

Sintaxe:

sabe
 String geString(String name) 

Isso joga Null Pointer Exception se o nome especificado não tiver mapeamento. Também joga ClassCastException o mapeamento de nome especificado não pode ser atribuído a JsonString.

Vamos criar um programa e obter valor do objeto JSON usando os métodos acima.

Nota: Antes de usar o código a seguir, baixe o json-20200518.jar arquivo e adicione-o ao seu projeto.

Como obter valor do objeto JSON em exemplo Java

GetValueFromJsonExample.java

 import org.json.*; public class GetValueFromJsonExample { public static void main(String[] args) throws JSONException { //constructor of the JSONObject class JSONObject obj = new JSONObject( '{' + 'Employee ID: 092789,' + 'Employee Name: Helen Mirren,' + 'Age: 27, ' + 'Designation: Assistant Manager,' + 'City: Florida,' + 'Salary: 67000.00, ' + 'Experience: 26 ' + '}' ); //getting values form the JSONObject System.out.println('Employee ID: '+obj.getInt('Employee ID')); System.out.println('Employee Name: '+obj.getString('Employee Name')); System.out.println('Age: '+obj.getInt('Age')); System.out.println('Designation: '+obj.getString('Designation')); System.out.println('City: '+obj.getString('City')); System.out.println('Salary: '+obj.getDouble('Salary')); System.out.println('Experience: '+obj.getInt('Experience') +' Months'); } } 

Saída:

Como obter valor do objeto JSON em exemplo Java

Vamos usar outra biblioteca JSON e obter valores do JSONObject. No programa a seguir, usamos o json-simples biblioteca. Antes de usar o programa a seguir, baixe o arquivo json-simple-1.1.1.jar e adicione-o ao seu projeto.

Como obter valor do objeto JSON em exemplo Java

GetValueFromJsonObjectExample.java

 import org.json.simple.JSONObject; import org.json.simple.JSONValue; public class GetValueFromJsonObjectExample { public static void main(String[] args) { //defining a JSON string String s='{'name':'William Hill','Salary':67000.0,'age':42}'; Object obj=JSONValue.parse(s); //creating an object of JSONObject class and casting the object into JSONObject type JSONObject jsonObject = (JSONObject) obj; //getting values form the JSONObject and casting that values into corresponding types String name = (String) jsonObject.get('name'); double salary = (Double) jsonObject.get('Salary'); long age = (Long) jsonObject.get('age'); //printing the values System.out.println('Name: '+name); System.out.println('Salary: '+salary); System.out.println('Age: '+age); } } 

Saída:

Como obter valor do objeto JSON em exemplo Java