func IsJsonValid(s string) bool {
var js map[string]interface{}
return json.Unmarshal([]byte(s), &js) == nil
}daha valid olmaz mı?
sonuçta fonksiyon string alıyor
gelen json formatı json standartlarına göre map[string]interface{} olmalı.
Birinicisi Golang'da JSON standardı
Interface'dir. Tek başına Interface JSON'u ele almak için yeterlidir. Ayrıca JSON bu fonksiyonda kullanılmıyor, sadece doğrulanıyor. Fonksiyonda bir eksiklik yok, aksine basitlik üzerine kurulu.
Buyurun, bu da Go'nun JSON standartı:
https://go.dev/blog/json
Kodlamada benim de kullandığım gibi
interface{} kullanılmış, yeterli olur.
Çözmede de yine interface{} kullanılmış.
Eğer verilere erişmek gibi bir amacımız olsaydı,
interface{} veya
map[string]interface{} kullanabilirdik. JSON'un yapısını bilmiyor isek
interface{} 'i kullanmak yeterlidir ve doğrudur.
Bu kadar basit şeyleri kafaya takmaya gerek yok. Bizim amacımız JSON'un geçerli olduğunu doğrulamak, fonksiyonda bunu gerçekleştiriyor.