XML2JSON

Hier könnt ihr eure Wünsche und/oder Anregungen für zukünftige Versionen posten.
Benutzeravatar
Nin
Beiträge: 11
Registriert: So Nov 01, 2015 5:41 pm

XML2JSON

Beitrag von Nin »

Ich benutze für Online Runden MapTool. In MapTool können die Werte abgespeichert werden und mittels selbst geschriebener Macros/Programmschnippsel aufgerufen und z.B. für Würfelwürfe verwendet werden. Eine Möglichkeit die Charakterwerte abzuspeichern ist in JSON Arrays oder Strings.

Nun gibt es natürlich online Skripte, die es möglich machen XML in JSON (und anders herum) zu konvertieren. Damit lässt sich dann auch eine Figur aus CharaCthulhu nach Maptool exportieren. Allerdings ist das etwas umständlich, da jede XML einzeln konvertiert werden muss.

Gibt es da vielleicht eine elegantere Möglichkeit?
Oder vielleicht sogar die Option eine solche Funktion für den Export und Import der Charakterdaten in JSONs zu implementieren?
Benutzeravatar
Rob
Beiträge: 75
Registriert: Fr Okt 29, 2010 7:40 am

Re: XML2JSON

Beitrag von Rob »

Also wenn ich es richtig verstanden habe, dann hättest du gerne die Möglichkeit einen Charakter aus Characthulhu heraus in das JSON-Format zu exportieren. Zur Zeit gibt es jedoch leider noch keine Export- bzw. Konvertier-Funktion in Characthulhu. Diese müsste erst geschaffen werden.

Ich kenne zwar das Chraracthulhu-Format in- und auswendig (was dich jetzt nicht verwundern wird;-)), aber das JSON-Format ist mir unbekannt. Kennst du dich damit aus? Gibt's dazu vielleicht irgendwo eine Beschreibung? Du erwähnst Online-Skripte, die XML-Code importieren. Gibt es eine Beschreibung, wie solche XML-Files aussehen müssen?

Wenn es eine Beschreibung gibt, kann ich mir die ja mal ansehen, und ungefähr den Aufwand schätzen, eine entsprechende Konvertier-Funktion zu programmieren.
Benutzeravatar
Nin
Beiträge: 11
Registriert: So Nov 01, 2015 5:41 pm

Re: XML2JSON

Beitrag von Nin »

JSON ist eine Java Script Format. Ich mache es mir mal einfach und verlinke einen Wikipedia Eintrag, der auch gleich den Unterschied zu XML zeigt: https://de.wikipedia.org/wiki/JavaScrip ... t_Notation

Eine Website zur Konvertierung ist z.B.: http://www.utilities-online.info/xmltoj ... jPrNad38_s. Die Seite komplett abgespeichert zeigt diverse Skript Dateien. Leider kenne ich mich damit zu wenig aus.

Nochmal ein konkretes Beispiel, die Attribute eines meiner CoC Charaktere:

XML

Code: Alles auswählen

<?xml version = "1.0" encoding = "ISO-8859-9" standalone = "yes"?>
<attribute>
	<attribut ID="IN">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>12</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="BI">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>8</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="GE">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>15</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="ER">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>14</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="GR">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>18</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="MA">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>10</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="KO">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>17</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
	<attribut ID="ST">
		<erhalten>16.07.2015 21:28:13</erhalten>
		<bemerkungen>Anfangswert</bemerkungen>
		<wert>17</wert>
		<abenteuer>-1</abenteuer>
	</attribut>
</attribute>
JSON

Code: Alles auswählen

{
  "attribute": {
    "attribut": [
      {
        "-ID": "IN",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "12",
        "abenteuer": "-1"
      },
      {
        "-ID": "BI",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "8",
        "abenteuer": "-1"
      },
      {
        "-ID": "GE",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "15",
        "abenteuer": "-1"
      },
      {
        "-ID": "ER",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "14",
        "abenteuer": "-1"
      },
      {
        "-ID": "GR",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "18",
        "abenteuer": "-1"
      },
      {
        "-ID": "MA",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "10",
        "abenteuer": "-1"
      },
      {
        "-ID": "KO",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "17",
        "abenteuer": "-1"
      },
      {
        "-ID": "ST",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "17",
        "abenteuer": "-1"
      }
    ]
  }
}
Benutzeravatar
Nin
Beiträge: 11
Registriert: So Nov 01, 2015 5:41 pm

Re: XML2JSON

Beitrag von Nin »

Wenn ich in MapTool jetzt eine Variable "Attributes" definiere und dort das JSON Object eintrage.
Wobei ich das wie folgt reduziert habe...

Code: Alles auswählen

{
    "attribut": [
      {
        "-ID": "IN",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "12",
        "abenteuer": "-1"
      },
      {
        "-ID": "BI",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "8",
        "abenteuer": "-1"
      },
      {
        "-ID": "GE",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "15",
        "abenteuer": "-1"
      },
      {
        "-ID": "ER",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "14",
        "abenteuer": "-1"
      },
      {
        "-ID": "GR",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "18",
        "abenteuer": "-1"
      },
      {
        "-ID": "MA",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "10",
        "abenteuer": "-1"
      },
      {
        "-ID": "KO",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "17",
        "abenteuer": "-1"
      },
      {
        "-ID": "ST",
        "erhalten": "16.07.2015 21:28:13",
        "bemerkungen": "Anfangswert",
        "wert": "17",
        "abenteuer": "-1"
      }
    ]
  }
Das umfassende

Code: Alles auswählen

{"attribute":
}
brauche ich nicht.

Damit kann ich später in MapTool z.B. folgende Werte auslesen und für Würfe o.ä. verwenden:

Code: Alles auswählen

[r: json.get( json.get( json.get(Attributes, "attribut"), 1), "-ID")]
[r: json.get( json.get( json.get(Attributes, "attribut"), 1), "wert")]
... was die Ausgabe "BI 8" ergibt.
WarFred
Beiträge: 10
Registriert: Mo Nov 02, 2015 12:14 am
Wohnort: Krefeld Uerdingen - Deutschland

Re: XML2JSON

Beitrag von WarFred »

Wenn es erlaubt ist, würde ich mich da gerne mal einhaken:

@Nin: erstellst du das XML deiner Charaktere "zu Fuß" oder habe ich eine Möglichkeit, einen Charakter aus Characthulu heraus in XML zu speichern bisher übersehen?
Benutzeravatar
Nin
Beiträge: 11
Registriert: So Nov 01, 2015 5:41 pm

Re: XML2JSON

Beitrag von Nin »

Die *.cth Dateien sind gepackte Dateien. Wenn du sie entpackst erhältst du u.a. mehrere XML Dateien.
WarFred
Beiträge: 10
Registriert: Mo Nov 02, 2015 12:14 am
Wohnort: Krefeld Uerdingen - Deutschland

Re: XML2JSON

Beitrag von WarFred »

Och, jetzt wo du es sagst... Cool, wieder was gelernt.
Benutzeravatar
Rob
Beiträge: 75
Registriert: Fr Okt 29, 2010 7:40 am

Re: XML2JSON

Beitrag von Rob »

Ja, ich habe das Dateiformat von Anfang an "public" gehalten. Im Prinzip ist eine Characthulhu-Datei nichts anderes als ein ZIP-File. Ist übrigens auch bei den neuen Office-Dateien (Excel, Word etc.) so.

Du kannst Dateien in dieser ZIP-Datei auch austauschen, wenn es Sinn macht, und somit ohne Characthulhu-Anwendung Änderungen durchführen.
Benutzeravatar
Rob
Beiträge: 75
Registriert: Fr Okt 29, 2010 7:40 am

Re: XML2JSON

Beitrag von Rob »

@Nin: Ich schaue mir deine Ausführungen an (wenn möglich schon am Wochenende), und melde mich dann hier wieder. Bitte etwas Geduld, habe gerade einen neuen Job angefangen ;)
Benutzeravatar
Nin
Beiträge: 11
Registriert: So Nov 01, 2015 5:41 pm

Re: XML2JSON

Beitrag von Nin »

(...) Bitte etwas Geduld (...)
Oh, nicht das du mich missverstehst, das hat keine Eile, sondern war nur eine unverbindliche Nachfrage.
Nur kein Stress. Alles andere ist wichtiger als das hier ... und das reale Leben sowieso!
Antworten