Advertisement
SkolaRajakAndroid

JSON-JAVA-JSON-READER-memorijski efikasno

Dec 4th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1. String primerJSON =  "["   +
  2.       " {"  +
  3.                "\"sifra\"  :   1,"  +
  4.                "\"ime\"  : \"Aleksandar\"," +
  5.                "\"prezime\"  : \"Aleksandrovic\", "  +
  6.          " \"sifra_odeljenje\" : 1,"  +
  7.               " \"starost\" : 18 "  +
  8.        "  }," +
  9.        "  {"  +
  10.                "\"sifra\"  :   2,"  +
  11.                "\"ime\"  : \"Aleksandar\"," +
  12.                "\"prezime\"  : \"Aleksandrovic\", "  +
  13.          " \"sifra_odeljenje\" : 1,"  +
  14.               " \"starost\" : 18 "  +
  15.        "  }," +
  16. " ]";
  17.  
  18. // JSON READER , MEMORIJSKI EFEKTIVAN PRISTUP
  19. // KOD NIJE CITLJIV NESTO
  20. // STREAM reader zahteva inputstream
  21. InputStream is = new ByteArrayInputStream(primerJSON.getBytes(StandardCharsets.UTF_8));
  22.        try {
  23.                 reader = new JsonReader(new InputStreamReader(is, "UTF-8"));
  24.                 ArrayList<Ucenik> ucenici = new ArrayList<Ucenik> ();
  25.                 // IDEMO KROZ CEO ARRAY
  26.                 reader.beginArray();
  27.                 // KROZ SVAKI ELEMENT TOG NIZA JSONA
  28.                 while (reader.hasNext()) {
  29.                 //   IDEMO KROZ SVAKI ELEMENT , TJ KROZ SVAKI NJEGOV PROPERTY, POLJE
  30.                     reader.beginObject();
  31.                     Ucenik novi = new Ucenik();
  32.                     while (reader.hasNext()) {
  33.                        String name = reader.nextName();
  34.                        if (name.equals("sifra")) {
  35.                          novi.setSifra(reader.nextLong());
  36.                        } else if (name.equals("ime")) {
  37.                          novi.setIme(reader.nextString());
  38.                        } else {
  39.                          reader.skipValue();
  40.                        }
  41.                    } // kraj while-a za jedan element niza
  42.                    reader.endObject();
  43.                    // NAPRAVLJEN OBJEKAT GURNEMO U LISTU
  44.                    ucenici.add(novi);
  45.                 }  // kraj while-a za niz
  46.                 reader.endArray();
  47.             } catch (UnsupportedEncodingException e1) {
  48.                 // TODO Auto-generated catch block
  49.                 e1.printStackTrace();
  50.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement