JSON golang boolean omitempty

Habe ich Probleme mit dem schreiben eines golang-Bibliothek für eine api. Die json-Aspekt von booleans verursacht Probleme.

Sagen wir, der Standardwert einer boolean-wahr ist für einen api-Aufruf.

Wenn ich

SomeValue bool `json:some_value,omitempty`

und ich glaube nicht, setzen Sie den Wert durch die Bibliothek, der Wert auf true gesetzt werden. Wenn ich den Wert auf false setzen, in der Bibliothek, omitempty sagt, dass ein false-Wert ist der Wert leer, so wird der Wert wahr bleiben durch das api-Aufruf.

Nehmen wir aus der omitempty und haben es so Aussehen

SomeValue bool `json:some_value`

Nun habe ich das gegenteilige Problem, ich kann den Wert auf false setzen aber wenn ich nicht auf den Wert festlegen, dann wird der Wert false, obwohl ich erwarte, dass es, um wahr zu sein.

Edit: Wie behalte ich das Verhalten nicht den Wert auf true setzen, während auch in der Lage, um den Wert auf false setzen?

  • Warten, also, was ist die Frage?
  • wenn Sie brauchen, um zu differenzieren zwischen "unset" und null-Werte, verwenden Sie einen Zeiger.
  • Ich fügte hinzu, die Frage. Lassen Sie mich wissen, wenn das Sinn macht @Jerrybibo
  • Das war es. Danke @JimB
InformationsquelleAutor mbfrahry | 2016-06-10
Schreibe einen Kommentar