nil.to_json kann nicht zu null zurück geparst werden?

8

Dieses Snippet löst eine Ausnahme aus:

%Vor%

Ist das erwartetes Verhalten? Ich denke, das sollte funktionieren?

    
Travis Reeder 23.08.2010, 22:55
quelle

3 Antworten

5

Das Problem ist nicht spezifisch mit nil . Es ist to_json für eine einfache Sache wie nil oder eine einzelne Zeichenfolge erzeugt keine vollständige JSON-Darstellung.

z.B. etwas wie JSON.parse("hello".to_json) würde ähnliche Ergebnisse ergeben.

Wenn wir einen Hash mit nil für einen seiner Werte haben, wird er korrekt codieren und dekodieren:

%Vor%     
mikej 23.08.2010, 23:15
quelle
15

Der JSON-Parser verfügt über einen "Quirks-Modus", in dem einzelne JSON-Werte analysiert werden.

%Vor%

Es funktioniert auch für andere einzelne Werte:

%Vor%     
Karl Higley 25.06.2013 20:57
quelle
1

JSON mag keine einzelnen Objekte, sondern dient zum Serialisieren von Objektsammlungen. Wenn Sie so etwas versuchen, können Sie sehen, dass es wirklich gültige JSON-Objekte für Nil-Objekte erzeugt und sie deserialisieren können.

%Vor%     
AboutRuby 23.08.2010 23:18
quelle

Tags und Links