2016-04-17 10 views
0

Ich habe ein Objekt, das mit jedem Mausklick aktualisiert wird und es konnte mit der Seite geladen werden. Ich versuche, es in einen Hash zu komprimieren (so können Benutzer ihre Variationen verknüpfen Beispiel: /page#HsaWiSAU, aber ich habe Probleme, es zu einem lesbaren Link zu machen.Javascript packen Objekt zu Hash-Zeichenfolge

Bis jetzt habe ich paar Komprimieren libs versucht, aber nichts. Ich war schließen mit dem lz-string ein, aber wenn es sie komprimiert, gibt es diese riesigen Saiten.

{ 
    "FX": { 
     "row1": { 
      "sp6111": { 
       "ranks": 5, 
       "curr": 1 
      }, 
      "sp6114": { 
       "ranks": 5, 
       "curr": 0 
      } 
     }, 
     "row2": { 
      "sp6121": { 
       "ranks": 1, 
       "curr": 0 
      }, 
      "sp6122": { 
       "ranks": 1, 
       "curr": 0 
      }, 
      "sp6123": { 
       "ranks": 1, 
       "curr": 0 
      } 
     }... 
    }, 
    "CX": {}, 
    "RX": {} 
} 

können Sie mir eine lib schlage ich an, oder wie aussehen sollte meine eigene schreiben? ich, dass die großen Strings sind, weil Ich stringiere das und komprimiere die gesamte Saite, also brauche ich eine bessere, menschlichere Lösung.

+1

Wenn Sie einen kurzen Hash wie diesen wollen, dann müssen Sie eine Datenbank erstellen, was jeder Hash bedeutet. Sonst gibt es keine Möglichkeit, so viele Informationen in eine so kleine Kette zu stopfen. (Es sei denn, jeder JSON ist nur an einigen Stellen anders, dann könnten Sie nur die Unterschiede hashen) – 4castle

Antwort

3

Wenn Sie eine benutzerfreundliche Hash generieren möchten, schauen Sie in HashIds

Dann können Sie ganz einfach, indem man das Ergebnis der JSON.stringify(obj) in dieser Bibliothek einen Hash erzeugen.

1

Sie c eine Verwendung redis oder eine Schlüsselwertdatenbank dafür. Ich würde es vorziehen, redis zu verwenden.

Verwandte Themen