November 13, 2013
std.json is ok. If you want a prettier api btw, I wrote a module called jsvar that uses it to provide a D type that is very similar to a javascript var:

https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff/blob/master/jsvar.d

void main() {
	import arsd.jsvar;
	
	auto some_json = `{"foo":"bar","number":20}`;
	var a = var.fromJson(some_json);

	assert(a.foo == "bar"); // works for easy access
	assert(a.number == 20);

	a.number += 15; // you can modify it too

	import std.stdio;
	writeln(a.number); // 35
}

If you want the specific type, there's a.payloadType == var.Type.Integral and so on. Then you can do int b = a.get!int; (you can actually do that even if a is a string, it will try to convert for you)


I think std.json's core is usable, just the interface isn't as beautiful as it could be in D. My jsvar tries to close that gap.
1 2
Next ›   Last »