如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表

Posted

技术标签:

【中文标题】如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表【英文标题】:How to add a JSON Object in local storage to a Fragment List on Android Studio 【发布时间】:2018-02-23 07:45:14 【问题描述】:

JSON 看起来像这样:


  "adak": 
    "lat": 51.883,
    "lon": -176.633,
    "wikipedia": "Adak,_Alaska",
    "city": "Adak"
  ,
  "nuku%ca%bbalofa": 
    "lat": -21.133,
    "lon": -175.2,
    "wikipedia": "Nuku%CA%BBalofa",
    "city": "Nuku%CA%BBalofa"
  ,
  "apia": 
    "lat": -13.833,
    "lon": -171.833,
    "wikipedia": "Apia",
    "city": "Apia"
  ,
...

我想将它添加到我的项目的列表片段中(使用选项卡制作)看起来像一个普通的滚动列表,并保存纬度和经度以将标记与它们一起放在地图上(另一个选项卡) . 有人可以帮助我吗?

非常感谢。

【问题讨论】:

【参考方案1】:

您必须将其转换为对象类,您可以使用 GSON 库。 试试this教程,你可以把对象放到你的ListAdapter中。

Here's 另一个完整的教程,可以帮助您解决所有问题,包括将其列入清单`

【讨论】:

【参考方案2】:

试试这个代码:

        ArrayList<MyModel> data = new ArrayList<>();
        JSONArray array = new JSONArray();
        try 
            for(int i =0 ; i<array.length(); i++) 
                JSONObject object = array.getJSONObject(i);
                data.add(new MyModel(object.getString("lat"),object.getString("lon"),
                        object.getString("wikipedia"),object.getString("city")));
            
         catch (JSONException e) 
            e.printStackTrace();
        

型号代码:

public class MyModel
            private String lat;
            private String lon;
            private String wikipedia;
            private String city;

            public MyModel(String lat, String lon, String wikipedia, String city) 
                this.lat = lat;
                this.lon = lon;
                this.wikipedia = wikipedia;
                this.city = city;
            

            public String getLat() 
                return lat;
            

            public void setLat(String lat) 
                this.lat = lat;
            

            public String getLon() 
                return lon;
            

            public void setLon(String lon) 
                this.lon = lon;
            

            public String getWikipedia() 
                return wikipedia;
            

            public void setWikipedia(String wikipedia) 
                this.wikipedia = wikipedia;
            

            public String getCity() 
                return city;
            

            public void setCity(String city) 
                this.city = city;
            
        

【讨论】:

以上是关于如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表的主要内容,如果未能解决你的问题,请参考以下文章

如何将对象存储在本地文件中?

如何使用 LocalStorage 将 json 对象保存到 Assets 文件夹

如何将json数据中的对象添加到nsmutablearray?

将 JSON 对象存储到核心数据中

JavaScript:如何将数据添加到 JSON 文件中的数组

如何将 JSON 数据存储和检索到本地存储中?