Reflection/Introspection?
Craig Dillabaugh
cdillaba at cg.scs.carleton.ca
Wed Oct 16 19:03:27 PDT 2013
On Thursday, 17 October 2013 at 01:47:41 UTC, DDD wrote:
> Does D have any reflection/introspection?
>
> I'd like to do something like this
>
> class Contact
> {
> string first, last
> int number
> }
>
> contact = json_deserialized!Contact(json_string);
>
> Is something like that possible?
Check out Vibe.D
http://vibed.org/api/vibe.data.json/deserializeJson
This is exactly what you are looking for I believe.
For example I have the following code which works:
import vibe.d;
struct Foo {
string bar;
int num;
}
void deserializeExample() {
Json js = Json.emptyObject;
js.bar = "Hello world!";
js.num = 42;
Foo afoo = deserializeJson!Foo( js );
assert( afoo.bar == "Hello world!");
assert( afoo.num == 42 );
}
More information about the Digitalmars-d
mailing list