Java 如何从截击请求生成列表

Java 如何从截击请求生成列表,java,android,Java,Android,我使用JSON文件和谷歌地图构建了一个应用程序,我需要知道如何重复一种模式,使用VolleyString Request从JSON获取数据 我们的想法是: city.add(new LatLng(12.94695, 77.64058)); city.add(new LatLng(12.94735, 77.64076)); city.add(new LatLng(12.9476, 77.64081)); city.add(new LatLng(12.94786, 77.64078)); city.

我使用JSON文件和谷歌地图构建了一个应用程序,我需要知道如何重复一种模式,使用Volley
String Request
从JSON获取数据

我们的想法是:

city.add(new LatLng(12.94695, 77.64058));
city.add(new LatLng(12.94735, 77.64076));
city.add(new LatLng(12.9476, 77.64081));
city.add(new LatLng(12.94786, 77.64078));
city.add(new LatLng(12.94809, 77.6407));
city.add(new LatLng(12.9483, 77.64058));
city.add(new LatLng(12.9486, 77.64029));
我使用它的方式,不是重复城市

添加JSON列表的每个坐标

这是我的意图:

 requestQueue = Volley.newRequestQueue(getApplicationContext());

        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,
                urlAnim, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {

                try {

                    JSONArray AnimT = response.getJSONArray("rutasAnim");
                    for (int i = 0; i < AnimT.length(); i++) {
                        JSONObject object1 = AnimT.getJSONObject(i);

                        double latA = object1.getDouble("lat");
                        double lngA = object1.getDouble("lng");

                        city.add(new LatLng(latA, lngA));


                    }

                } catch (JSONException e) {...
我的JSON文件

{"rutasAnim": [{
            "anim":"city.add(new LatLng(6.3490548, -75.5580200));",
            "lat":"6.3490548",
            "lng":"-75.5580200"
        },{
            "anim":"city.add(new LatLng(6.3345438, -75.5671886));",
            "lat":"6.3345438",
            "lng":"-75.5671886"
        },{
            "anim":"city.add(new LatLng(6.3378121, -75.5700586));",
            "lat":"6.3378121",
            "lng":"-75.5700586"
        },{
            "anim":"city.add(new LatLng(6.3395342, -75.5656866));",
            "lat":"6.3395342",
            "lng":"-75.5656866"
        },{...

如果我没弄错你的问题。您希望从JSON获取城市对象的列表。有多种方法可以做到这一点:

1.与您现在正在做的类似:

public class City{
   String lat;
   String lng;

   public City(String lat, String lng){
       this.lat = lat;
       this.lng = lng;
   }

   public String getLat(){
       return lat;
   }
   public String getLng(){
       return lng;
   }
}
List<City> cities = new LinkedList<>();

requestQueue = Volley.newRequestQueue(getApplicationContext());

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,
            urlAnim, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {

            try {

                JSONArray AnimT = response.getJSONArray("rutasAnim");
                for (int i = 0; i < AnimT.length(); i++) {
                    JSONObject object1 = AnimT.getJSONObject(i);

                    String latA = object1.getString("lat");
                    String lngA = object1.getString("lng");

                    cities.add(new City(latA , lngA ));


                }

            } catch (JSONException e) {
             //TODO Handle JSON Exception
           }
公共级城市{
弦拉特;
管柱液化天然气;
公共城市(串lat、串lng){
this.lat=lat;
这是液化天然气=液化天然气;
}
公共字符串getLat(){
返回lat;
}
公共字符串getLng(){
返回液化天然气;
}
}
列表城市=新建链接列表();
requestQueue=Volley.newRequestQueue(getApplicationContext());
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.POST,
urlAnim,新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
JSONArray AnimT=response.getJSONArray(“rutasAnim”);
对于(int i=0;i
你将拥有你所有的城市


2.使用JSON解析器库,这将使您更容易、有时更快地进行解析。为此,您可以使用相同的City类和一个库,如或

您是否可以共享请求的JSON结果。准备好了!我共享JSON结果您是否想知道如何将该数据放入java列表?
public class City{
   String lat;
   String lng;

   public City(String lat, String lng){
       this.lat = lat;
       this.lng = lng;
   }

   public String getLat(){
       return lat;
   }
   public String getLng(){
       return lng;
   }
}
List<City> cities = new LinkedList<>();

requestQueue = Volley.newRequestQueue(getApplicationContext());

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,
            urlAnim, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {

            try {

                JSONArray AnimT = response.getJSONArray("rutasAnim");
                for (int i = 0; i < AnimT.length(); i++) {
                    JSONObject object1 = AnimT.getJSONObject(i);

                    String latA = object1.getString("lat");
                    String lngA = object1.getString("lng");

                    cities.add(new City(latA , lngA ));


                }

            } catch (JSONException e) {
             //TODO Handle JSON Exception
           }