Как я могу конвертировать JSON в csv с помощью кода JAVASCRIPT. Этот код я должен использовать в соединителе веселья
Привет,
Я пытаюсь несколькими способами конвертировать различные типы форматов JSON в CSV.
Например: приведенный ниже текст мне нужно перевести в CSV.
{
"цветы": [
{
"черный цвет",
"категория": "оттенок",
"тип": "первичный",
"код": {
"широко": [255,255,255,1],
"hex": "#000"
}
},
{
"белый цвет",
"значение категории",
"код": {
"широко": [0,0,0,1],
"hex": "#FFF"
}
},
{
"красный цвет",
"категория": "оттенок",
"тип": "первичный",
"код": {
"широко": [255,0,0,1],
"hex": "#FF0"
}
},
{
"синий цвет",
"категория": "оттенок",
"тип": "первичный",
"код": {
"широко": [0,0,255,1],
"hex": "#00F"
}
},
{
"цвет": "желтый",
"категория": "оттенок",
"тип": "первичный",
"код": {
"ргба": [255,255,0,1],
"hex": "#FF0"
}
},
{
"зеленый цвет",
"категория": "оттенок",
"тип": "вторичный",
"код": {
"широко": [0,255,0,1],
"hex": "#0F0"
}
}
]
}
Что я уже пробовал:
if (msg.trim().charAt(0)=='[')
{
ВАР jsonObject=формат JSON.синтаксический анализ(глутамат натрия);
}
еще
{var jsonObject=JSON.parse('[' + msg + ']');}
var msg1=msg.slice(msg.search(":")+1, msg.length-1);
var num = msg1.search("{")+1;
если (число==8.0)
{var jsonObject=JSON.parse(msg1);
}
msg = <разделено>;
счетчик var = 0;
ВАР nodeLevelMap = {};
jsnrecursive(jsonObject,0,nodeLevelMap);
функция jsnrecursive(parent, currentLevel, nodeLevelMap) {
если (!родитель)
вернуть;
if (typeof parent != typeof {})
вернуть;
nodeLevelMap[parent] = текущий уровень;
for (var index in parent)
logger.info(родитель[индекс])
logger.info('Currentlevel '+currentLevel)
jsnrecursive(parent[index], currentLevel + 1, nodeLevelMap);
}
F-ES Sitecore
Я не запускал ваш код, это не служба отладки, но одна проблема, которую я вижу сразу, - это проблема переменной области видимости. Если вы определяете переменную внутри скобок {}, то она существует только внутри этих скобок. Делай, если хочешь
если (условие)
{
var obj = что-то;
}
тогда "obj" недоступен вне этого блока "if", как он был определен внутри него.