JSON (JavaScript Object Notation), veri değişimi için yaygın bir formattır. Bu yazıda, C# ile JSON dosyalarını okuma ve yazma işlemlerini inceleyeceğiz. Bu işlemler, uygulama verilerini dışa veya içe aktarma ihtiyacı olduğunda oldukça kullanışlıdır.
JSON Dosyası Örneği
Bir appsettings.json
dosyamız olsun:
{
"School": {
"Class": "5",
"Section": "A"
},
"Student": "Ahmet"
}
JSON İşlemleri İçin Sınıf
JSONOperation
adında bir sınıf oluşturacağız:
using Newtonsoft.Json;
using System;
using System.IO;
namespace Test
{
public class JSONOperation
{
private static readonly string _filePath = Path.Combine(AppContext.BaseDirectory, "appsettings.json");
public static string Get(string key)
{
try
{
string json = File.ReadAllText(_filePath);
dynamic jsonObj = JsonConvert.DeserializeObject(json);
var sectionPath = key.Split(":")[0];
if (!string.IsNullOrEmpty(sectionPath))
{
var keyPath = key.Split(":")[1];
return (string)jsonObj[sectionPath][keyPath];
}
else
{
return (string)jsonObj[sectionPath];
}
}
catch
{
return "";
}
}
public static void Set(string key, string value)
{
try
{
string json = File.ReadAllText(_filePath);
dynamic jsonObj = JsonConvert.DeserializeObject(json);
var sectionPath = key.Split(":")[0];
if (!string.IsNullOrEmpty(sectionPath))
{
var keyPath = key.Split(":")[1];
jsonObj[sectionPath][keyPath] = value;
}
else
{
jsonObj[sectionPath] = value;
}
string output = JsonConvert.SerializeObject(jsonObj, Formatting.Indented);
File.WriteAllText(_filePath, output);
}
catch
{
// Hata yönetimi
}
}
}
}
JSON Okuma
Class
ve Student
değerlerini aşağıdaki gibi okuyabiliriz:
string classValue = JSONOperation.Get("School:Class");
string studentValue = JSONOperation.Get("Student");
JSON Yazma
Class
değerini değiştirmek için:
JSONOperation.Set("School:Class", "6");
Bu örnek ile C# kullanarak JSON dosyalarından veri okuma ve yazma işlemlerini gerçekleştirebilirsiniz. Bu işlemler, uygulamalarınızın konfigürasyonlarını ve verilerini yönetmenize yardımcı olacaktır.
Yorum Yap