Home > database >  how to push nested data to third party API in spring boot
how to push nested data to third party API in spring boot

Time:01-23

Please help to push data to third party api and the requriment is four nested json object how can i do please help suppose we have this kind of object I want to send this kind of response. However, in the service class and REST controller i am getting the error. How can i set the response?

   "mode":"raw",
   "raw":{
      "service_provider":"Dhanuka",
      "data":[
         {
            "v_id":"4",
            "gpsData":[
               {
                  "lat":28.410576,
                  "lon":77.515912,
                  "sts":"running",
                  "loc":"Taj",
                  "spd":0,
                  "c_nm":"client",
                  "b_nm":"bb",
                  "b_id":"231",
                  "v_no":"DL1AA0001",
                  "v_tp":"car",
                  "speed_unit":"km/h",
                  "time_inMillis":"1581319502000",
                  "time":"2020-02-10 12:55:02",
                  "ign":"On",
                  "gps":true,
                  "_id":"5e417135d"
               }
            ]
         }
      ]
   },
   "options":{
      "raw":{
         "language":"json"
      }
   }
}

CodePudding user response:

You can convert JSON to Java Object.

class A{
        private  String mode;
        private B raw;
        ...
    }
    class B{
        private String service_provider;
        private List<C> data;
        ...
    }
    class C{
        private String v_id;
        private List<D> gpsData;
        ...
    }
    class D{
        private double lat;
        ...
    }

CodePudding user response:

You can use json2csharp. It will help you to convert json objects to pojo

For example the conversion of your json will be:

// import com.fasterxml.jackson.databind.ObjectMapper; // version 2.11.1
// import com.fasterxml.jackson.annotation.JsonProperty; // version 2.11.1
/* ObjectMapper om = new ObjectMapper();
Root root = om.readValue(myJsonString), Root.class); */
public class GpsData{
    public double lat;
    public double lon;
    public String sts;
    public String loc;
    public int spd;
    public String c_nm;
    public String b_nm;
    public String b_id;
    public String v_no;
    public String v_tp;
    public String speed_unit;
    public String time_inMillis;
    public String time;
    public String ign;
    public boolean gps;
    public String _id;
}

public class Datum{
    public String v_id;
    public ArrayList<GpsData> gpsData;
}

public class Raw{
    public String service_provider;
    public ArrayList<Datum> data;
    public String language;
}

public class Options{
    public Raw raw;
}

public class Root{
    public String mode;
    public Raw raw;
    public Options options;
}
  •  Tags:  
  • Related