On Thursday, 24 July 2014 at 15:32:29 UTC, John Colvin wrote:
On Thursday, 24 July 2014 at 15:15:37 UTC, Pavel wrote:
Ok, let me start with the sample code:

import std.stdio;
import std.json;

void main() {
 scope(failure) writeln("FaILED!!");
 string jsonStr = `{ "name": "1", "type": "r" }`;
 auto parsed = parseJSON(jsonStr);
 string s = parsed["fail"].str;
 writeln(s == "");
 writeln(s is null);
 writeln(s);
}

Running "rdmd app.d" doesn't produce any output.
Can anyone explain such a behavior???


PS: Running dmd v2.065 on Linux x64.

It's a bug in std.json (you should get a segfault, not no output at all)

It is fixed now and I'm pretty sure it will be in 2.066

std.json has been improved a lot, but I would still recommend using http://vibed.org/api/vibe.data.json/ instead

I'm pretty sure it's improving, but it has that "Java" disease, which is creating new Types, which are just wrappers for common types. Why don't just use Variant[string] for objects, and Variant[] for arrays. This way you won't be putting another layer of knowledge for those who work with std.json.

Reply via email to