Member 13745554 Ответов: 1

Как я могу конвертировать 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", как он был определен внутри него.

1 Ответов

Рейтинг:
1

Member 2521084

Почему он должен быть общим? просто использовать

цикл по цвету в массиве цветов

"colors": [
{
"color": "black",
"category": "hue",
"type": "primary",
"code": {
"rgba": [255,255,255,1],
"hex": "#000"
}



var res="";
$.each(colors, function(i,color){
res += color.color + "\t" + color.category + "\t" + color.rgb[0] + color.rgb[1] + " color.hex +"\r\n";
});



Проблема с generic заключается в том, что json действительно иерархичен, а csv больше похож на реляционный

удачи