dackson

  • Declaration

    T decodeJson(T)(string json);

    Decode a JSON string into some datatype.

    Examples

    1. struct User { @JsonProperty("user_name") string userName; } string json = `{"user_name": "John Smith"}`; auto decoded = json.decodeJson!User; assert(decoded == User("John Smith"));

  • Declaration

    string encodeJson(T)(T source);

    Encode an object into a JSON string.

    Examples

    1. string json = `1234`; auto deser = decodeJson!(long)(json); assert(deser == 1234); string serialized = encodeJson(deser); assert(serialized == json); json = `"hello"`; string deserString = `"hello"`.decodeJson!string; assert(deserString == "hello"); serialized = encodeJson(deserString); assert(json == serialized); json = `true`; auto deserBool = json.decodeJson!bool; assert(deserBool == true); serialized = encodeJson(deserBool); assert(serialized == json); struct OneField { @JsonProperty("foo") string bar; } json = `{"foo":"hello"}`; auto deserOneField = json.decodeJson!OneField; assert(deserOneField == OneField("hello")); serialized = encodeJson(deserOneField); assert(serialized == json);