如何在 spring 引导中将嵌套数据推送到第三方 API
how to push nested data to third party API in spring boot
请帮助将数据推送给第三方api,要求是四个嵌套的json对象我该怎么办请帮忙假设我们有这种对象
我想发送这种回复。但是,在服务 class 和 REST 控制器中我收到了错误。如何设置响应?
"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"
}
}
}
您可以将 JSON 转换为 Java 对象。
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;
...
}
您可以使用 json2csharp。它将帮助您将 json 对象转换为 pojo
例如,您的 json 的转换将是:
// 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;
}
请帮助将数据推送给第三方api,要求是四个嵌套的json对象我该怎么办请帮忙假设我们有这种对象 我想发送这种回复。但是,在服务 class 和 REST 控制器中我收到了错误。如何设置响应?
"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"
}
}
}
您可以将 JSON 转换为 Java 对象。
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;
...
}
您可以使用 json2csharp。它将帮助您将 json 对象转换为 pojo
例如,您的 json 的转换将是:
// 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;
}