February 25, 2022

On Thursday, 14 June 2012 at 20:37:46 UTC, Salih Dinçer wrote:

>
   json.type = JSON_TYPE.STRING;
   {
       json.str = "Havva"; kat3a["ismi"] = json;
       json.str = "Adem";  kat4a["ilkadı"] = json;
       json.str = "Kabil"; kat4b["ismi"] = json;
   }

   json.type = JSON_TYPE.OBJECT;
   {
       json.object = kat3a; kat2["anne"] = json;
       json.object = kat2;  kat1["aile"] = json;
   }

   json.object = kat1;
   veri = toJSON(&json);
   veri.writeln;

   json.type = JSON_TYPE.OBJECT;
   {
       json.object = kat4a; kat3b["ismi"] = json;
       json.object = kat4b; kat3b["oğlu"] = json;
       json.object = kat3b; kat2["baba"] = json;
       json.object = kat2;  kat1["aile"] = json;
   }

Bu kadar gereksiz kod tekrarı olamaz herhalde 😀

Şöyle bir göz gezdirince facia üstüne facia ile karşılaştım. Belki o dönem ekranda göre göre, emin oldukça kod yazmış olabilirim ya da öyle gerekiyordu bilemiyorum. Çünkü JSON.type'da emekli olan şeyler var ve setter'ı kapatılıp sadece getter bırakılmış.

Aslında bir takma ad (alias) ile birkaç katı şu şekilde birleştirmek mümkünmüş:

alias Dal = JSONValue;

void main()
{
	Dal kök; // kat1;

	Dal[string] kat3 = [
    	"ismi": Dal( ["ilkadı": Dal("Adem")] ),
		"oğlu": Dal( ["ismi": Dal("Kabil")] )
	];
	Dal[string] kat2 = [
   		"anne": Dal( [ "ismi": Dal("Havva")] ),
   		"baba": Dal( kat3 )
	];
	kök.object = [ "aile": Dal( kat2) ];
	string veri = kök.toJSON(true);
}
1 2
Next ›   Last »