ASP ile JSON Veri Oluşturma (API Yapımı)
Klasik ASP ile JSON Çıktısı Vermek (Web API Oluşturma)
Günümüz web dünyasında PHP, .NET Core veya Node.js gibi modern diller JSON formatını yerleşik olarak destekler. Ancak eski dostumuz Klasik ASP’de json_encode gibi hazır bir fonksiyon yoktur.
Eğer eski ASP sitenizi bir mobil uygulamaya bağlamak veya jQuery/AJAX ile veri çekmek istiyorsanız, verilerinizi JSON formatında “elle” oluşturmanız gerekir. İşte bunu yapmanın en pratik yolu.
ASP Sayfasını JSON Formatına Çevirmek
Öncelikle sayfanın bir HTML sayfası değil, bir JSON verisi olduğunu tarayıcıya söylemeliyiz. Bunun için Response.ContentType kullanılır.
Aşağıdaki örnek kod, veritabanından haberleri çeker ve JSON formatında ekrana basar:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<% ' Sayfa türünü JSON olarak ayarla (Türkçe karakter sorunu için Charset ekledik) Response.ContentType = "application/json" Response.Codepage = 65001 Response.Charset = "utf-8" ' Veritabanı bağlantısı (conn nesnesinin açık olduğunu varsayıyoruz) Set rs = conn.Execute("SELECT TOP 5 Baslik, Ozet FROM Haberler ORDER BY ID DESC") Dim jsonCikti jsonCikti = "[" ' JSON dizisini başlat Do Until rs.EOF ' VERİ TEMİZLİĞİ (Çok Önemli!) ' 1. Çift tırnakları escape et (JSON bozulmasın diye) TemizBaslik = Replace(rs("Baslik"), """", "\""") TemizOzet = Replace(rs("Ozet"), """", "\""") ' 2. Satır sonlarını (Enter) temizle (Yoksa JSON hata verir!) TemizBaslik = Replace(TemizBaslik, vbCrLf, " ") TemizOzet = Replace(TemizOzet, vbCrLf, " ") ' JSON formatını elle oluşturuyoruz jsonCikti = jsonCikti & "{" jsonCikti = jsonCikti & """baslik"": """ & TemizBaslik & """," jsonCikti = jsonCikti & """ozet"": """ & TemizOzet & """" jsonCikti = jsonCikti & "}" rs.MoveNext ' Eğer son kayıt değilse araya virgül koy If Not rs.EOF Then jsonCikti = jsonCikti & "," Loop jsonCikti = jsonCikti & "]" ' JSON dizisini kapat ' Sonucu ekrana yaz Response.Write jsonCikti rs.Close Set rs = Nothing conn.Close Set conn = Nothing %> |
Neden Buna İhtiyaç Var?
Bu kod sayesinde siteadiniz.com/api/haberler.asp gibi bir adres oluşturabilir ve bu adresi:
- Android / iOS mobil uygulamanızda,
- React, Vue veya Angular projelerinizde,
- Başka bir web sitesine veri aktarırken
bir Web Servis (API) gibi kullanabilirsiniz. ASP ölmüş olabilir ama bu yöntemle eski sistemleri modern dünyaya entegre edebilirsiniz.