Nico R.: Rätsel gelöst

Beitrag lesen

Hallo Andreas,

also wenn ich das richtig sehe, wird im JSON überall da ein Array mit [] erzeugt, wo im Original die keys von 0 an ohne Lücke aufsteigend sind - in allen anderen Fällen ein Object mit {}.

Das war der entscheidende Hinweis. Mir war gar nicht aufgefallen, dass mein Array ja doch zwei index-Fehler hatte. Einmal stand ein Hochzähler in der while-Schleife in einer falschen Verzweigung (im Kommentar unten Fehlerkorrektur #2) und ein anderer hat bei 1 angefangen zu zählen, statt bei 0 (im Kommentar unten Fehlerkorrektur #1). Nach der Korrektur sieht das Array jetzt so aus:

array(3) {
  [0]=>
  array(2) {
    [0]=>
    int(347)
    [1]=>
    array(1) {
      // Fehlerkorrektur #1:
      [0]=>
      array(2) {
        [0]=>
        int(10)
        [1]=>
        int(0)
      }
    }
  }
  [1]=>
  array(2) {
    [0]=>
    int(344)
    [1]=>
    array(2) {
      // Fehlerkorrektur #1:
      [0]=>
      array(2) {
        [0]=>
        int(20)
        [1]=>
        int(1)
      }
      // Fehler 1
      [1]=>
      array(2) {
        [0]=>
        int(30)
        [1]=>
        int(0)
      }
    }
  }
  // Fehlerkorrektur #2:
  [2]=>
  array(2) {
    [0]=>
    int(338)
    [1]=>
    array(1) {
      // Fehlerkorrektur #1:
      [0]=>
      array(2) {
        [0]=>
        int(30)
        [1]=>
        int(0)
      }
    }
  }
}

Und so jetzt der saubere JSON-String für JS:

"[[347,[[10,0]]],[344,[[20,1],[30,0]]],[338,[[30,0]]]]"

Danke wieder einmal für eure Hilfe :-)

Schöne Grüße

Nico