2016-04-15 9 views
1

Im Folgenden sind einige Beispieldaten in Ruby definiert, und ich möchte es in JSON codieren, so dass ich diese Daten in anderen Sprachen importieren und wiederverwenden kann.JSON: Verweis auf zuvor definierte Element

Wie Sie sehen können, habe ich zwei Variablen, $ datastart und $ dataend, als wiederverwendbare Elemente definiert.

$datastart = 'BEGIN: ' 
$dataend = ' --- END' 

$data = [ 
    $datastart + 'something' + $dataend, 
    $datastart + 'something else' + $dataend, 
    $datastart + 'yet another thing' + $dataend, 
    $datastart + 'no more' + $dataend, 
] 

Ich möchte einige Json schreiben, in dem etwas zu $ ​​Data entspricht und $ dataend, also wenn ich neue Einträge in meiner Liste hinzufügen möchten, ich manuell so in der JSON-Datei tun können, selbst, während referenziert den json-ised $ datastart und das $ dataend.

Ich weiß, ich kann dies tun, indem eine Art von speziellem Tokens innerhalb der json Einbettung für $ Data und $ dataend zu stehen, und dann diese Token aus meiner Anwendung ersetzt, nach die json importieren.

Allerdings möchte ich keinen speziellen Code in meiner Anwendung schreiben. Ich möchte nur ein json.load (oder sein Äquivalent) machen, und die Daten werden korrekt umgesetzt, sobald es geladen ist.

Ich habe keine Möglichkeit gefunden, dies zu tun. Ist es überhaupt möglich?

Antwort

1

JSON-Dateien können auf nichts anderes in ihrer Datei verweisen. Sie müssen die Datei entweder vor oder nach der Erstellung verarbeiten, wie Sie es sich vorgestellt haben.

Ich werde beachten: JSON ist nicht wirklich entworfen, um von Hand bearbeitet zu werden. Wenn Sie können, können Sie stattdessen in das Format YAML schauen. Es kann viele Dinge tun, ist eine Obermenge von JSON (jede JSON-Datei ist ein gültiges YAML-Dokument) und bietet sogar Unterstützung für die Funktion, nach der Sie suchen.

+0

Vielen Dank. Ich überprüfe YAML erneut, aber ich bin mir ziemlich sicher, dass es keine String-Verkettung macht. – HippoMan

Verwandte Themen