Android ile JSON Dosyadan Parse Örneği – 2
Bu yazı da JSON dosyasından parse(ayrıştıracağımız) edeceğimiz bir Android uygulaması geliştireceğiz. Bu yazıyı anlayabilmek için json parse yazımıza göz atmanız yeterli.
Eclipse de yeni bir android projesi oluşturalım. Proje adını JsonProje, package adını com.trandroid, default Activity classıma da HelloJson adını verdim siz istediğiniz gibi isimlendirebilirsiniz. Şimdi öncelikle oluşturacağımız JSON yapısına göz atmakta yarar var.
{
"ad":"Fatih",
"soyad":"ISIK"
"takipettikleri":
{
"kategori" : "bilisim",
"siteler":
[
{
"adresi": "www.trandroid.com",
"slogan": "Android ile İlgili Türkçe Haberler, Uygulamalar..."
},
{
"adresi": "www.android.com",
"slogan": "Android Offical Web Site"
}
]
}
}
Şimdi de projemizde dosyamızı oluşturalım. Bunun için proje içinde res dizinin altına raw adında yeni bir dizin tanımlayalım ve altına siteler adında yeni bir doosya oluşturalım ve yukarıdaki json örneğimizi içine yapıştıralım. Benim oluşturduğum proje dizini Resim 1 ‘de ki gibidir.

Resim 1 - JsonProje dizin gösterimi
main.xml dosyamızdaki TextView’ı aşağıdaki düzenleyelim. Sadece Activity class’ımızdan ulaşabilmek için id veriyoruz.
<TextView
android:id="@+id/jsonData"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
Sıra geldi HelloJson class’ımızda gerekli kodları yazmaya. Bunun için ise oncreate metodunu aşağıdaki gibi değiştirmeniz yeterli olacak.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView jsonDataTextView = (TextView) findViewById(R.id.jsonData);
try
{
StringBuilder stringBuilder = new StringBuilder();
InputStream inStream = this.getResources().openRawResource(R.raw.siteler);
byte [] buffer = new byte[inStream.available()];
while (inStream.read(buffer) != -1);
String json = new String(buffer);
JSONObject obj = new JSONObject(json);
stringBuilder.append(obj.getString("ad") + " " + obj.getString("soyad"));
JSONObject takip = new JSONObject(obj.getString("takipettikleri"));
stringBuilder.append(" " + takip.getString("kategori") + " kategorisinde şu siteleri takip ediyor :\n\n");
JSONArray siteler = takip.getJSONArray("siteler");
int i;
for (i=0;i<siteler.length();i++)
{
JSONObject ss = siteler.getJSONObject(i);
stringBuilder.append("\tSite adresi: " + ss.getString("adresi") + "\n");
stringBuilder.append("\tSloganı: " + ss.getString("slogan") + "\n\n");
}
jsonDataTextView.setText(stringBuilder.toString());
}
catch (Exception je)
{
jsonDataTextView.setText("Error w/file: " + je.getMessage());
}
}

Resim 2 - Json Parse Örneği Ekran Görüntüsü
4 Yorumlar
Geri Bildirimler
- Android ile Web Üzerinden Json Parse Örneği – 3 | trandroid.com - [...] Web üzerindeki Json örneğini alıp parse edeceğiz. Bu yazıyı okumadan önce json parse 1 ve dosyadan json parse örneklerine ...








Selam paylaşım için teşekkürler.
Şöyle bir sorunum var.Bu işlemi bir url den yapamıyor muyuz?
Örnek kod gönderirsen sana dua ederim
Kolay gelsin…
Url’den json parse örneği : http://trandroid.com/2010/06/02/android-ile-web-uzerinden-json-parse-ornegi-3/
“siteler” isimli dosyayı buradan direk kopyala yapıştır yapınca çalışmıyor. Nedeni ise alt satıra geçiren [ENTER] karakteri. Bu karakteri silip tek satır halinde ki JSON’dan parse etmemiz gerekiyor. Sadece böyle çalıştırabildim. Eğer hata alıyorsanız bunu deneyebilirsiniz.
İyi Günler
Kodunuz çalışmıyor hata veriyor.
Rica etsek anlatılan örneğin altına kodun zip dosyasını koyar mısınız?