Iterar matriz JSON Java
Para ler e escrever dados JSON em Java, usamos org.json biblioteca. O org.json biblioteca nos permite codificar e decodificar dados JSON em Java. O org.json class fornece várias classes importantes por meio das quais podemos realizar diversas operações nesses dados JSON. Essas aulas são as seguintes:
- JSONObject
- Valor JSON
- JSONArray
- Número JSON
- JSONString
Estas são as etapas a seguir para iterar o array JSON em Java:
1) Crie um Maven projetar e adicionar JSON dependência em POM.xml arquivo.
org.json json 20160810
2) Crie uma string de dados JSON que convertemos em objeto JSON para manipular seus dados.
3) Depois disso, obtemos o JSON Array do objeto JSON usando getJSONArray() método e armazená-lo em uma variável do tipo JSONArray.
4) O getJSONArray() O método usa o nome do array como uma string para recuperar do objeto.
5) Em seguida, usamos um loop for de 0 a JSONArray.length(). O método length() retorna o tamanho do array.
6) Armazenamos cada registro de índice em um JSONObject. Para obter o objeto JSON de um índice específico, usamos o método getJSONObject() de JSONArray.
7) Para obter o valor de um campo especificado, usamos o método get() do JSONObject passando o nome do campo como uma string no método get().
JSONExample.java
// import required packages package javaTpoint.JSONExample; //import required classes import org.json.JSONArray; import org.json.JSONObject; // create JSONExample class to iterate JSON Array public class JSONExample{ //main() method start public static void main(String args[]){ // create an string of JSON data String jsonData = '{'locations':[{'lat':'23.053','long':'72.629','location':'ABC','address':'DEF','city':'Ahmedabad','state':'Gujrat','phonenumber':'1234567'},{'lat':'21.013','long':'52.619','location':'XYZ','address':'MNP','city':'Ghaziabad','state':'UP','phonenumber':'212321'}]}'; // convert JSON string into JSON Object using JSONObject() method JSONObject json = new JSONObject(jsonData); // get locations array from the JSON Object and store it into JSONArray JSONArray jsonArray = json.getJSONArray('locations'); // Iterate jsonArray using for loop for (int i = 0; i <jsonarray.length(); i++) { store each object in jsonobject explrobject="jsonArray.getJSONObject(i);" get field value from using get() method system.out.println(explrobject.get('address')); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/10/iterate-json-array-java-2.webp" alt="Iterate JSON Array Java"> <p> <strong>JSONExample2.java</strong> </p> <pre> //import package package javaTpoint.JSONExample; // import require classes import java.io.FileWriter; import java.io.IOException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; // create class JSONExample1 public class JSONExample1 { // main() method start public static void main(String[] args) { // create instance of JSONObject JSONObject jsonObject = new JSONObject(); // use put() method for inserting the data into JSON object jsonObject.put('name', 'Abhishek Sharma'); jsonObject.put('department','B.E'); jsonObject.put('branch', 'C.S.E'); jsonObject.put('year', 3); //create JSON Array and store record into JSONObject JSONArray list1 = new JSONArray(); list1.add('Julia'); list1.add('Paul'); list1.add('Emma'); jsonObject.put('Names', list1); JSONArray list2 = new JSONArray(); list2.add('BCA'); list2.add('B.Tech'); list2.add('MCA'); jsonObject.put('Course', list2); JSONArray list3 = new JSONArray(); list3.add('3'); list3.add('4'); list3.add('2'); jsonObject.put('Year', list3); // create instance of the FileWriter class by passing the path of the file in the constructor try (FileWriter file = new FileWriter('D:\newfile.json')) { // use write() method to add JSONObject into file file.write(jsonObject.toJSONString()); file.flush(); } catch (IOException e) { e.printStackTrace(); } // get locations array from the JSON Object and store it into JSONArray JSONArray jsonArray = (JSONArray) jsonObject.get('Names'); // Iterate jsonArray using for loop for (int i = 0; i <jsonarray.size(); i++) { get field value from json array system.out.println(jsonarray.get(i)); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/10/iterate-json-array-java-3.webp" alt="Iterate JSON Array Java"> <hr></jsonarray.size();></pre></jsonarray.length();>