Ich möchte ein JSON-Objekt erstellen, das von den ausgewählten Optionen von 4 Auswahlmenüs abgeleitet ist. In diesen Menüs können Optionen ausgewählt sein, wenn sie geladen sind (aufgrund einer serverseitigen Technologie) oder keine Optionen ausgewählt wurden! Sobald die Seite mit $ (document) .ready () geladen wurde, läuft mein Skript ... aber ich bekomme ein paar Probleme mit dem JSON-Objekt " JSON.parse: unerwartetes Nicht-Leerzeichen nach JSON-Daten "
Ich möchte, dass mein JSON die folgende Struktur hat
%Vor% Okay, hier ist meine Funktion, ich habe hier einige Elemente zur Vereinfachung entfernt, aber ich gebe ein ursprüngliches leeres Objekt als Argument in die Funktion und hoffe dann, das zu ändern, da ich das JSON-Objekt zurückgeben möchte der Server, wenn / wenn die Select-Menüs geändert werden ... aber jetzt haben wir nur mit dem Laden der Seite zu tun ... die Funktion zeigt auch die Werte oder was in einer dynamischen Tabelle ausgewählt ist, die mit einer Funktion namens defaultTable()
ignore ignore erstellt wurde Das ist im Moment das Auffüllen des JSON-Objekts, an dem ich interessiert bin (und mit dem ich Probleme habe).
Ich habe Probleme mit dem JSON-Objekt, was ich versuche ist, Strings während des Schleifens zu verketten und dann diese mit der Methode jQuery.parseJSON zu Objekten zu konvertieren ... aber das mache ich nicht richtig. Ich habe sogar versucht, die Anführungszeichen bei der Erstellung von temp1 zu ändern.
Ich weiß, dass das kompliziert ist und ich kann viel fragen, aber jeder kann sehen, was ich falsch mache. Ich bin nicht so vertraut mit jQuery.parseJSON, also wäre jeder Ratschlag großartig, da ich denke, dass ich verrückt werde!
Wenn ich vage bin oder mich nicht gut erläutere, sag es bitte ... Ich habe das auch auf die Geige gelegt ... Ссылка
BITTE BEACHTEN SIE, DASS DIESER ARBEITSFORTSCHRITT IST, SO DASS EINIGE EINZELTEILE FEHLEN ODER ENTWICKELT WERDEN MÜSSEN (oder ich habe vielleicht andere Fehler ... aber ich hoffe nicht).
Sie geben parseJSON () eine Zeichenfolge ein, die aussieht wie '"catOptions":"{"A":"B","C":"D",}"'
parseJSON () möchte etwas, das wie folgt aussieht '{"catOptions":{"A":"B","C":"D"}}'
Sie haben ein paar Probleme zu lösen, wenn Sie JSON von Hand erstellen wollen.
Um Ihren Fehler zu beheben, möchten Sie Ihre {key:value}
nicht in Anführungszeichen setzen, da sie durch die Anführungszeichen in catOptForObj
Sie müssen die Werte, mit denen Sie OptForObj-Zeichenfolgen erstellen, mit Werten versehen, wenn sie doppelte Anführungszeichen enthalten
Sie bauen Ihre Saite im Prinzip so auf:
%Vor% was etwas wie "A":"B","C":"D",
Kommas sollten nur zwischen Werten existieren. Eine Möglichkeit, dies zu tun, ist zu überprüfen, ob s zuerst leer ist, und sie nur an s vor dem zusätzlichen Wert anzufügen. Etwas wie:
%Vor%Am besten ist es, sich auf eine eingebaute Funktion wie JSON.stringify zu verlassen, wie in den Kommentaren
vorgeschlagenTags und Links javascript jquery json