JSON standartlarına uymayan bir JSON nesnesine sahibim ve JSON standartlarına uymasını sağlamak için nesnenin yapısını değiştiremiyorum.Bir sunucuda json nesnesini json parse'siz json parse olmadan çıkar Çıktı
Bu nesneyi bir Jade şablonunda bir javascript bloğunun ortasında oluşturması gerekiyor. Nesne, aslında şablondaki bir işlev bloğuna giden bir yapılandırma nesnesidir.
Nesne İşte. Bir JS dosyasından nesneyi alıyorum nasıl İşte
{
services: [],
version: "1438276796258",
country: "default",
role: "User",
Zack_Init: function() {
},
Zack_Global: function (event) {
},
Zack_PostRender: function() {
},
renderers: ['Renderer', 'NONE']
}
GÜNCELLEME olduğunu. JSON.stringify bu dönüştürme işleminde üç fonksiyonu damla nesne işler
function readJSFile(url, filename, callback) {
fs.readFile(url, "utf-8", function (err, data) {
if (err) {
callback(err);
return;
}
try {
callback(filename, data);
} catch (exception) {
callback(exception);
}
});
}
.
Geçerli çözümün ilerleyişini göstermek için bir plunker ekliyorum. Aşağıdaki çıktılar. Kalan tek şey biçimlendirme karakterlerini kaldırmak.
{"services":[],"version":"1438276796258","country":"default","role":"User","Zack_Init":function() {\n\n },"Zack_Global":function (event) {\n\n },"Zack_PostRender":function() {\n\n },"renderers":["Renderer","NONE"]}
function convertToString(obj) {
return JSON.stringify(obj, function(k, v) {
return (typeof v === 'function' ? ['@@[email protected]@', v.toString(), '@@[email protected]@'].join('') : v);
}).replace(/"@@[email protected]@|@@[email protected]@"/g, '');
}
obj = {
services: [],
version: "1438276796258",
country: "default",
role: "User",
Zack_Init: function() {
},
Zack_Global: function(event) {
},
Zack_PostRender: function() {
},
renderers: ['Renderer', 'NONE']
};
$('#test').text(convertToString(obj));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test"></div>
Özel sorun nedir? Ne denedin, işe yaramadı? Sadece bir dizi gösteriyor musunuz? –
Güncel sorunu vermek için güncellendi. – zmanc