Merhaba arkadaşlar,
Ne zamandır yazmıyordum, böyle anlık lazım olan yazdığımı kod parçacıklarını projeler içinde arayacağıma bloğuma yazıyım dedim ve karşınızda “jsonparser.js”
Genelde log tutarken json içeriği hoop diye veritabanına kayıt ediyoruz hatta bir projede birden fazla kişi çalışıyorsa bazen ipin ucunu kaçıyoruz json içinde string şekilde kayıt edilmiş obje -> onun içinde dizi -> bunun içinde string dizi vs vs böyle iç içe devam edebiliyor.
Kısasacı yazılımı kullanan kişiler, ben bu anlamsız logları okumak istiyorum derse işe yarayan bir kod.
Ön izleme için http://calismalar.aycan.net/jsonparser/ tıklayabilirsiniz.
Github : https://github.com/AycanB/jsonparser.js
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
var DOM = ''; $('#parseJSON').on('click',function (){ var json = $('#json').val(); $('.jsonText div').html(jsonparser($.parseJSON(json))); jsonParserDropDown(); }); function jsonparser(obj) { var DOMX = ''; for (var i in obj) { if (typeof obj[i] === 'string') { if (typeof objectKontrol(obj[i]) === 'object') { DOM += '<div class="row"><strong>' + i + ':<a href="#" class="dropDownA down"><i class="fa fa-arrow-down"></i> <span>Down</span></a> </strong>' + jsonparser(objectKontrol(obj[i])) + '</div>'; } else { if (obj[i].length > 0 && obj[i].length < 1000) { DOM += '<div class="row"><strong>' + i + ': </strong>' + htmlSpecialChar(obj[i]) + '</div>'; } } } else if (typeof obj[i] === 'object') { if (obj[i] != null) { DOM += '<div class="row"><strong>' + i + ':<a href="#" class="dropDownA down"><i class="fa fa-arrow-down"></i> <span>Down</span></a> </strong>'; jsonparser(obj[i]); DOM += '</div>'; } } else { DOM += '<div class="row"><strong>' + i + ': </strong>' + obj[i] + '</div>'; } } return DOM; } function objectKontrol(string) { if ((string.substr(0, 1) == '{' || string.substr(0, 1) == '[') && string != null) { try { string = $.parseJSON(string); } catch (err) { console.log(err, string); } } return string; } function htmlSpecialChar(string) { return string.toString().replace(/>/g, '>').replace(/</g, '<'); } function jsonParserDropDown() { $('.dropDownA').off().on('click', function (e) { e.preventDefault(); if ($(this).hasClass('down')) { $(this).closest('.row').find(' > .row').slideDown(0); $(this).find('span').html("Up"); $(this).addClass('up').removeClass('down'); } else { $(this).closest('.row').find(' > .row').slideUp(0); $(this).find('span').html("Down"); $(this).addClass('down').removeClass('up'); } }); $('#allOpen').off().on('click', function (e) { $('.row').slideDown(0); }); } |
Uygulamayı buradan indirebilirsiniz.
Aradığım bir paylaşımdı . Gerçekten çok faydalı oldu . Çok teşekkür ederim .
Siteniz harika her zaman güzel bilgiler paylaşıyorsunuz.Emeğinize sağlık
Çok işime yaradı yazı için teşekkürler