Ich arbeite gerade an der Erstellung eines Modells basierend auf der bereitgestellten JSON-Eingabe und umgekehrt.JSON-Objektwerte abrufen
Die Ausgabe ist, wenn ich versuche, die Objekte wie predefinedStream
, name
und kind
abzurufen, zeigt es nicht definiert, obwohl die ersten zwei id
und classes
richtig in der Warnung angezeigt wird.
Gespeichert Json Output
Warnmeldung generiert
Belastungselement, wenn Json vorgesehen
die folgendeAlert für das oben genannte Ziel
Wenn ich den zuvor generierten Code in den Textbereich und klicken Sie auf Last kopieren, bekomme ich
Speichern von Daten in Json Objekte
function saveFlowchart() {
var node = [];
var matches = [];
var totalElementCount = 0;
var searchEles = document.getElementById("container").children;
for (var i = 0; i < searchEles.length; i++) {
matches.push(searchEles[i]);
var idOfEl = searchEles[i].id;
totalElementCount = idOfEl;
if (searchEles[i].id != null || searchEles[i].id != "") {
var $element = $("#" + searchEles[i].id);
var dropElem = $("#" + searchEles[i].id).attr('class');
var position = $element.position();
var elId = parseInt(idOfEl);
if (dropElem == "streamdrop ui-draggable") {
node.push({
id: idOfEl,
class: dropElem,
position: {
top: position.top,
left: position.left,
bottom: position.bottom,
right: position.right
}
});
for (var count = 0; count < 100; count++) {
if (createdImportStreamArray[count][0] == idOfEl) {
node.push({
predefinedStream: createdImportStreamArray[count][1],
name: createdImportStreamArray[count][2],
kind: "import"
});
}
}
}
}
}
}
abrufen Json Objektwerte Elemente
function loadFlowchart(e) {
var flowChartJson = $('#jsonOutput').val();
var flowChart = JSON.parse(flowChartJson);
var node = flowChart.node;
$.each(node, function (index, elem) {
droppedElement = document.getElementById(id);
var id = elem.id;
var classes = elem.class;
// var positionTop = elem.position.top;
var asName = elem.name;
var kind = elem.kind;
if (classes == "streamdrop ui-draggable") {
var selectedStream = elem.predefinedStream;
alert("elem id: " + id + "\nclass:" + classes + "\nasName:" + asName + "\nkind:" + kind + "\nselected:" + selectedStream);
if (kind == "import") {
createdImportStreamArray[id - 1][0] = id;
createdImportStreamArray[id - 1][1] = selectedStream;
createdImportStreamArray[id - 1][2] = asName;
createdImportStreamArray[id - 1][3] = "Import";
}
alert("Id of element parsed: " + id + "\nclass: " + classes /*+ "\npositionTop: " + positionTop*/);
var newAgent = $('<div>').attr('id', id).addClass('streamdrop');
var prop = $('<a onclick="doclick(this)"><b><img src="../Images/settings.png" class="settingsIconLoc"></b></a> ').attr('id', (id + '-prop'));
var showIcon = $('<img src="../Images/Import.png" class="streamIconloc"></b></a> ').attr('id', (id));
var conIcon = $('<img src="../Images/connection.png" onclick="connectionShowHideToggle(this)" class="showIconDefined"></b></a> ').attr('id', (id + 'vis'));
newAgent.text(asName).append('<a class="boxclose" id="boxclose"><b><img src="../Images/Cancel.png"></b></a> ').append(showIcon).append(conIcon).append(prop);
dropCompleteElement(newAgent, id, e, kind);
}
});
}
Wenn der zuvor gespeicherte Json geführt wird, korrekt abgerufen put erstellen ich die Daten immer ähnlich die ersten Alarm-Box Würde eine Eingabe in dieser Hinsicht zu schätzen wissen werden.
Kann den 'undefinierten' Begriff nirgendwo in deinen' json' Blöcken finden !? –
Ihr FlowChartJson Json sieht ein bisschen verdächtig aus. Überprüfen Sie hier, wie zu Json, wie das Format davon - https://www.copterlabs.com/json-what-it-is-how-it-works-how-to-use-it/ – Tasos