lostyazilim
tr.link

Bu İçeriği JSON Formatında Dökmeme Yardımcı Olabilir Misiniz?

3 Mesajlar 962 Okunma
lstbozum
tr.link

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Bu renk paletlerini çekip listeleyebiliyorum ama json dökümü kısmını bir türlü halledemedim.

JSON çıktısı her palet için (renk grubu) bu şekilde olmalı;

{
"ColorPalette": {
"Title": "Red",
"Colors": [
{
"title": "50",
"hex": "#FFEBEE"
},
{
"title": "100",
"hex": "#FFCDD2"
},
{
"title": "200",
"hex": "#EF9A9A"
}
...
...
...
]
}
}


Veriyi DOM Object'ten böyle alıyorum;

var colopalette = document.getElementById("color-color-palette");
var modules = colopalette.getElementsByClassName("module");
for (var i = 0; i < modules.length; i++) {
var groupnames = modules[i].getElementsByClassName("group");
for (var ii = 0; ii < groupnames.length; ii++) {
console.log(groupnames[ii].innerHTML);

var details = modules[i].getElementsByClassName("details");

for (var iii = 0; iii < details.length; iii++) {
var shade = details[iii].getElementsByClassName("shade");
var hex = details[iii].getElementsByClassName("hex");
details[iii].getElementsByClassName("hex");
for (var iiii = 0; iiii < shade.length; iiii++) {
console.log(shade[iiii].innerHTML + " -- " + hex[iiii].innerHTML);
}
}
}

//console.log("JSON Output");
console.log("--------------");
}
 

 

no time for caution
wmaraci
reklam

mapacarta mapacarta HTML5/Flash Developer Kullanıcı
  • Üyelik 03.01.2013
  • Yaş/Cinsiyet 35 / E
  • Meslek HTML5/Flash Developer
  • Konum İstanbul Anadolu
  • Ad Soyad Ö** G**
  • Mesajlar 32
  • Beğeniler 3 / 10
  • Ticaret 0, (%0)
Şu şekilde işini görür sanırım:

var obj={};
var no=0;

var colopalette = document.getElementById("color-color-palette");
var modules = colopalette.getElementsByClassName("module");

for (var i = 0; i < modules.length; i++) {
var groupnames = modules[i].getElementsByClassName("group");
no++;
obj[no]={};
for (var ii = 0; ii < groupnames.length; ii++) {

obj[no].title=groupnames[ii].innerHTML;
obj[no].colors=[];
var details = modules[i].getElementsByClassName("details");

for (var iii = 0; iii < details.length; iii++) {
var shade = details[iii].getElementsByClassName("shade");
var hex = details[iii].getElementsByClassName("hex");
details[iii].getElementsByClassName("hex");
for (var iiii = 0; iiii < shade.length; iiii++) {
obj[no].colors.push({title:shade[iiii].innerHTML, hex:hex[iiii].innerHTML});
}
}
}

}

console.log(obj);

///Objeyi Json formatına çevirmek için
var jsonObj=JSON.stringify(obj);
console.log(jsonObj)
Decimas

kişi bu mesajı beğendi.

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
mapacarta teşekkürler! Ellerine emeğine sağlık. :)
mapacarta

kişi bu mesajı beğendi.

no time for caution
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al