Itereu la matriu JSON Java
Per llegir i escriure dades JSON a Java, fem servir org.json biblioteca. El org.json La biblioteca ens permet codificar i descodificar dades JSON a Java. El org.json class proporciona diverses classes importants mitjançant les quals podem realitzar diverses operacions amb aquestes dades JSON. Aquestes classes són les següents:
- JSONObject
- JSONValue
- JSONArray
- Número JSON
- JSONString
Aquests són els passos següents per repetir la matriu JSON a Java:
1) Crea un Maven projectar i afegir json dependència en POM.xml dossier.
org.json json 20160810
2) Creeu una cadena de dades JSON que convertim en objecte JSON per manipular les seves dades.
3) Després d'això, obtenim la matriu JSON de l'objecte JSON utilitzant getJSONArray() mètode i emmagatzemar-lo en una variable de tipus JSONArray.
4) El getJSONArray() El mètode pren el nom de la matriu com a cadena per recuperar-lo de l'objecte.
5) A continuació, fem servir un bucle for de 0 a JSONArray.length(). El mètode length() retorna la mida de la matriu.
6) Emmagatzemem cada registre d'índex en un JSONObject. Per obtenir l'objecte JSON d'un índex concret, utilitzem el mètode getJSONObject() de JSONArray.
7) Per obtenir un valor d'un camp especificat, utilitzem el mètode get() del JSONObject passant el nom del camp com a cadena en el mètode 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();>