kod parçası json data
JSON Data Nedir ?
5 (100%) 3 votes

JSON DATA (JavaScript Notation)

JSON Javascript uygulamaları için oluşturulmuş bir veri formatıdır. Json’ın çıkış amacı veri transferlerinde verilerin XML’den daha az yer kaplamasını sağlamaktır. Şu an sadece Javascript uygulamalarında değil, yazılım geliştirmede kullanılan bir çok teknolojide JSON formatındaki veriler tercih edilmektedir.

  1. Java uygulamaları
  2. .Net uygulamaları
  3. PHP uygulamaları
  4. Web servis uygulamaları
  5. Mobil uygulamaların veri transferleri

gibi bir çok noktada veriler JSON formatında kullanılmaktadır.

 

Json Veri Formatı

JSON türündeki veriler iki parçadan oluşur: key (anahtar) ve value (değer). Anahtar’da nesnenin hangi özelliğinin olduğu (koddaki değişken ismi gibi düşünülebilir) tanımlanırken değerde ise anahtar özelliğinin değeri (değişkenin değeri) tanımlanır. Nesnelerdeki anahtar ve değerler string türünde tanımlanır. Aşağıda basit bir JSON nesnesi örneği bulunmaktadır.

  1. {
  2.    "Ad": "Yakup",
  3.    "Soyad": "Tecimen"

Yukarıdaki örnekte 2 tane anahtar ve 2 tane değer vardır: “Ad” anahtarının değeri “Yakup” , “Soyad” anahtarını değeri ise “Tecimen” olarak tanımlanmıştır.

Nesne içerisinde istediğiniz kadar anahtar – değer (key-value) ikilisi tanımlayabilirsiniz.

  1. {
  2.     "Ad": "Yakup",
  3.     "Soyad": "Tecimen",
  4.     "Bolum": "Yazılım Muhendisligi",
  5.     "Sehir": "Gazi Antep",
  6.     "Telefon": "05xxxxxxxxx"
  7.  }

Java uygulamasında JSON Kullanımı

Örneğimizi anlatmaya başlamadan önce ne yapacağımızdan bahsetmek istiyorum. Java Uygulamamız aracılığıyla basit bir kayıt dosyası (JSON) oluşturacağız ve yine uygulamamız aracılığıyla bu dosyaya veriler gönderip verileri geri alıp kullanacağız.

Öncelikle Çalışanlar adında bir pojo oluşturuyoruz

  1. package org.teknolojileri.json;
  2. /**
  3. *
  4. * @author Yakup Tecimen
  5. */
  6. public class Calisanlar {
  7. private String name;
  8. private String surname;
  9. private int age;
  10. public int getAge() {
  11. return age;
  12. }
  13. public void setAge(int age) {
  14. this.age = age;
  15. }
  16. public String getName() {
  17. return name;
  18. }
  19. public void setName(String name) {
  20. this.name = name;
  21. }
  22. public String getSurname() {
  23. return surname;
  24. }
  25. public void setSurname(String surname) {
  26. this.surname = surname;
  27. }
  28. }

Pojo’muzu oluşturduktan sonra JSonControl Adında bir class oluşturuyoruz ve buraya kontrol kodlarımızı yazıyoruz.

  1. package org.teknolojileri.json;
  2. import deneme.json.Deneme;
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import org.json.JSONObject;
  8. /**
  9. *
  10. * @author Yakup Tecimen
  11. */
  12. public class JsonControl {
  13. public void jsonCreate() throws Exception {
  14. JSONObject j = new JSONObject();
  15. Calisanlar d = new Calisanlar();
  16. d.setName(“Yakup “);
  17. d.setSurname(“Tecimen”);
  18. d.setAge(28);
  19. j.put(“name”, d.getName());
  20. j.put(“surname”, d.getSurname());
  21. j.put(“age”, d.getAge());
  22. FileWriter writer = new FileWriter(“D:\\teknolojileri.json”);
  23. writer.write(j.toString());
  24. writer.close();
  25. }
  26. public void jsonConvert() throws Exception {
  27. try {
  28. String line = null;
  29. BufferedReader br = new BufferedReader(new FileReader(“D:\\teknolojileri.json”));
  30. StringBuilder sb = new StringBuilder();
  31. while ((line = br.readLine()) != null) {
  32. sb.append(line + ‘\n’);
  33. }
  34. JSONObject jo = new JSONObject(sb.toString());
  35. Calisanlar d = new Calisanlar();
  36. d.setName(jo.getString(“name”));
  37. d.setSurname(jo.getString(“surname”));
  38. d.setAge(jo.getInt(“age”));
  39. //java objeleri uzerinden verileri cekme
  40. System.out.println(d.getName());
  41. System.out.println(d.getSurname());
  42. System.out.println(d.getAge());
  43. System.out.println(“———————————————“);
  44. //Json objeleri uzerinden verileri cekme
  45. System.out.println(jo.get(“name”));
  46. System.out.println(jo.get(“surname”));
  47. System.out.println(jo.get(“age”));
  48. } catch (IOException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. public static void main(String args[]) throws Exception {
  53. new JsonControl().jsonCreate();
  54. new JsonControl().jsonConvert();
  55. }
  56. }

Yukarıdaki JSonControl class ‘ında iki adet metodumuz var bunları inceleyelim.

JsonCreate ve JsonConvert metodları

JsonCreate() metodunda: JsonObject ve Calisanlar Objeleri oluşturduk. daha sonra bu calisanlar objesine set metodu aracılığıyla değer yükledik.

sonraki aşamada JsonObject‘ in “put” metodunu kullanarak JSON dosyasına yazılacak olan degerleri ve keyleri belirledik.

(değerler calisanlar objesinin get metodları aracılığıyla alındı.)

son olarak ta FileWriter sınıfının writer metodu kullanılarak JSON dosyası belirttiğimiz dizinde oluşturulup içine değerler yazıldı.

JsonConvert() metodunda : BufferedReader sınıfı ile uygulamanın dizindeki dosyaya erişimini sağladık ve StringBuilder sınıfı ile bu verileri yarattığımız JSONObject e aktardık. daha sonra calisanlar objesi oluşturduk ve bu objenin setlerine JSONObject in getString metodu aracılığıyla Json dosyasındaki verileri set ettik. son olarak ta ekranda bu verilerin gösterimi için 2 türlü kod tasarladık. birincisi java objesi üzerinden veriyi ekrana almak. diğeri ise JsonObject üzerinden veriyi ekrana almak için tasarlandı.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir