Javascript 将json转换为xml并删除空字符串
我将json文件转换为xml文件,在我的json文件中,我有:Javascript 将json转换为xml并删除空字符串,javascript,json,xml,node.js,parsing,Javascript,Json,Xml,Node.js,Parsing,我将json文件转换为xml文件,在我的json文件中,我有: "settingsData": { "settingsname": "", "username": "Dave", "password": "", "domain": "Benji", } 我的输出是: <data name="settingsname" value=""/> <data name="username" value="Dave"/> <data
"settingsData": {
"settingsname": "",
"username": "Dave",
"password": "",
"domain": "Benji",
}
我的输出是:
<data name="settingsname" value=""/>
<data name="username" value="Dave"/>
<data name="password" value=""/>
<data name="domain" value="Benji"/>
输出需要是:
<data name="username" value="Dave"/>
<data name="domain" value="Benji"/>
提前谢谢
只需迭代数组并检查属性是否存在:
var settingsData = {
settingsname: '',
username: 'Dave',
password: '',
domain: 'Benji'
};
function extractData(data, settingsData) {
var settings = [];
for (var key in settingsData ) {
if (data.hasOwnProperty(key) && settingsData[key].length > 0) {
settings.push({name: key, value: data[key]});
}
}
return settings;
}
对代码进行了几次编辑-我假设您正在从其他地方传递
数据
,因此您需要在设置数据
中迭代键,然后检查以确保键的值存在于数据
中。通常我非常乐意为您的答案投票-但在这种情况下,我所构建的内容与您的答案(以及OP需要的答案)之间存在着足够大的差异。事实上,如果我把它留下,只是直接复制了一份,那是一回事,但我没有。别见怪
if (settingsData.settingsname !== ""){
settings.push({
name: 'settingsname',
value: data.settingsname
});
}
var settingsData = {
settingsname: '',
username: 'Dave',
password: '',
domain: 'Benji'
};
function extractData(){
var arr = [];
for (var key in settingsData ) {
if (settingsData.hasOwnProperty(key)) {
if (settingsData[key]) arr.push(settingsData[key]);
}
}
console.log(arr);
}
extractData(); // ["Dave", "Benji"]
var settingsData = {
settingsname: '',
username: 'Dave',
password: '',
domain: 'Benji'
};
function extractData(data, settingsData) {
var settings = [];
for (var key in settingsData ) {
if (data.hasOwnProperty(key) && settingsData[key].length > 0) {
settings.push({name: key, value: data[key]});
}
}
return settings;
}