-1

Place.json

[
 {
 "image":"https://www.google.com/search?q=eyfel+building&tbm=isch&ved=2ahUKEwiR2PaFivrrAhVTsSoKHSVaBD4Q2-cCegQIABAA&oq=eyfel+building&gs_lcp=CgNpbWcQAzoECAAQQzoCCAA6BAgAEB46BggAEAUQHjoGCAAQCBAeOgQIABAYUIUCWLAtYLMuaABwAHgAgAHUAYgBgwySAQUwLjcuMZgBAKABAaoBC2d3cy13aXotaW1nwAEB&sclient=img&ei=nIVoX5GaGNPiqgGltJHwAw&bih=657&biw=1366#imgrc=933tG8AS_Jkn7M"
 "title": "Eyfel"
 },

 {
 "image":"https://www.google.com/search?q=london+bridge&tbm=isch&ved=2ahUKEwjck-mKivrrAhWJtioKHb4XCXAQ2-cCegQIABAA&oq=london+br&gs_lcp=CgNpbWcQARgAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADoFCAAQsQM6BAgAEB46BggAEAUQHjoECAAQQzoHCAAQsQMQQzoECAAQAjoECAAQEzoICAAQCBAeEBM6BggAEB4QE1CKG1jKSGDDT2gEcAB4AoABwwWIAY8fkgENMC45LjMuMS4wLjEuMZgBAKABAaoBC2d3cy13aXotaW1nwAEB&sclient=img&ei=poVoX9yoKIntqgG-r6SABw&bih=657&biw=1366#imgrc=AktppXugiJmZ1M"
 "title": "London Bridge"
 },
 {
 "image":"https://www.google.com/search?q=kollizey&tbm=isch&ved=2ahUKEwj7nKifivrrAhVHposKHXccCDAQ2-cCegQIABAA&oq=kollizey&gs_lcp=CgNpbWcQAzIGCAAQChAYOgUIABCxAzoCCAA6BAgAEEM6BAgAEB46BAgAEAJQrPEBWPf_AWDPhAJoAHAAeAGAAeoDiAHJD5IBCTAuNC4yLjEuMZgBAKABAaoBC2d3cy13aXotaW1nwAEB&sclient=img&ei=0YVoX7vwJsfMrgT3uKCAAw&bih=657&biw=1366#imgrc=DcT4Bw_ZnOZn_M"
 "title": "Collosseo"
 },
 {
 "image":"https://www.google.com/search?q=pryramids&tbm=isch&ved=2ahUKEwihjsawivrrAhWGyyoKHZMUBEgQ2-cCegQIABAA&oq=pryramids&gs_lcp=CgNpbWcQAzIECAAQEzIECAAQEzIICAAQBRAeEBMyCAgAEAUQHhATMggIABAFEB4QEzIICAAQBRAeEBM6AggAOgUIABCxAzoGCAAQChABOgQIABAKOgQIABAeOgQIABACUKOwAViJjwJg4o8CaANwAHgAgAHIAYgB_RGSAQYwLjEwLjKYAQCgAQGqAQtnd3Mtd2l6LWltZ7ABAMABAQ&sclient=img&ei=9YVoX-G_L4aXqwGTqZDABA&bih=657&biw=1366#imgrc=RxDXCkN4m6hJyM"
 "title": "Pyramids"
 },
]
ADM
  • 20,406
  • 11
  • 52
  • 83
Turok
  • 39
  • 1
  • 7

1 Answers1

1

To parse JSON use this code

In Java

public String loadJSONFromAsset() {
    String json = null;
    try {
        InputStream is = getActivity().getAssets().open("Place.json"); // your file name 
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
        json = new String(buffer, "UTF-8");
    } catch (IOException ex) {
        ex.printStackTrace();
        return null;
    }
    return json;
}

Usage:

String jsonString = loadJSONFromAsset();
if(jsonString != null){
    try {
       JSONObject json = new JSONObject(jsonString);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

get it in fragments

You can pass data to Fragment via Intent or use ViewModel to share data between Activity and Fragment

Using Intent:

// In Activitry 
Bundle bundle = new Bundle();
bundle.putString("dataKey", "Shared String");
MyFragment fragment = new MyFragment();
fragment.setArguments(bundle);

// In Fragment 
 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String sharedString = getArguments().getString("dataKey");    
    return inflater.inflate(R.layout.fragment, container, false);
}

Using ViewModel:

Check this official documentation. Also can check this Medium Blog

Abu Yousuf
  • 5,729
  • 3
  • 31
  • 50