2017-05-18 1 views
1
Parsen

Eigentlich mit Elm ich arbeite, aber ich habe einige Probleme mit dem json Parsing in dieser Sprache, der Fehler, der mir den Compiler geben ist:unerwartetes Token n in JSON, wenn sie mit Elm.Json

Err "Given an invalid JSON: Unexpected token \n in JSON at position 388" 

Was ich tun muss, ist dies:

example

Am char_meta möchte ich sein etwas wie folgt aus:

[("Biographical Information", [("Japanese Name", "緑谷出久"), ...]), ...] 

Hier ist der Code:

Ellie link

PD: Die einzige Konstante Tasten sind character_name, lang, Zusammenfassung und char_meta, sie Schlüssel innerhalb von char_meta sind dynamisch (das ist, warum ich KeyValuePair verwenden) und die Länge seiner immer wieder anders von diesem Array (manchmal ist es leer)

Danke, hoffe kann mir helfen.

EDIT:

Die Ellie Link jetzt der Fixcode umlenken

Antwort

2

Das Problem ist, dass Ulme (oder JS einmal umcodiert) interpretiert die \n und \" Sequenzen, wenn die Stringliteral Parsen und werden ersetzt mit einer tatsächlichen neuen Zeile und doppelten Anführungszeichen, was zu ungültigem JSON führt.

Wenn Sie den JSON inline im Code haben möchten, müssen Sie die 5 \ s durch Verdoppelung (\\n und \\") entschlüsseln.

Dies gilt nur für Literale, Sie haben nicht das Problem, wenn Sie JSON zum Beispiel aus dem Netzwerk laden.

+0

Vielen Dank !!!! Ich habe den ganzen Tag versucht, diesen Fehler zu beheben! Ich habe den Ellie Link mit dem richtigen Code aktualisiert, nur eine Lösung ist nicht '\\' '' Nochmals vielen Dank! –