yapın. HTML <pre>
bölümündeki bazı JSON'ları görüntülemem gerekir.javascript - JSON öznitelikleri bağlantılarını birinci düzeydeki
I kullanmak javascript kodu çalışma .. "/ dokümantasyon # attributeKeyText" için tüm bakılmaksızın öznitelik değerinin, birinci düzeyde anahtarlarını niteliklerini yapmak istiyorum Şimdi
function transformJson(k, v) { if (k === 'href' && typeof v === 'string') { var label = v.replace(/&/gi, '&'); return '<a href=' + v + '>' + label + '</a>'; } return v; } function jsonFormat(jsonString) { var jsonObj = JSON.parse(jsonString, transformJson); return JSON.stringify(jsonObj, undefined, 2) .replace(/\s"(\w*)":/g, ' "<span class="key">$1</span>":') .replace(/:\s"(.*)"/g, ': "<span class="string">$1</span>"'); };
, bağlantılar .
var jsonToPrettify = {
"href": "link/me",
"nonHrefButMakeThisKeyALink": "some_text",
"obj": {
"href": "link/me",
"thisKeyWontBeALinkInsteadBecauseHasAParent": "some_text"
}
}
console.log(jsonFormat(JSON.stringify(jsonToPrettify)));
Bunu nasıl başarabilirim? Geçerli özniteliğin üst nesneye sahip olmadığını nasıl kontrol edebilirim?
Teşekkür
GÜNCELLEME: Mevcut versiyonunun
Çıktı geçerli:
{
"<span class="key">href</span>": "<span class="string"><a href=link/me>link/me</a></span>",
"<span class="key">nonHrefButMakeThisKeyALink</span>": "<span class="string">some_text</span>",
"<span class="key">obj</span>": {
"<span class="key">href</span>": "<span class="string"><a href=link/me>link/me</a></span>",
"<span class="key">thisKeyWontBeALinkInsteadBecauseHasAParent</span>": "<span class="string">some_text</span>"
}
}
Yani sadece bunun yerine bir bağlantı olduğuna yayılma nonHrefButMakeThisKeyALink istiyorum ..
Nesnenin JSON'a bağlanması ve sonra ayrıştırılması ve sonra yeniden dizgileme noktası nedir? – Oriol
Json'u başka bir hizmetten dize biçiminde aldım. Bu konsol.log sadece tüm soru konsolunda kopyalamak ve eylem içinde görmek için izin verir .. –
Bu yardımcı olabilir .. http://stackoverflow.com/questions/13518762/change-key-name-in-nested -json yapısı –