D JSON (WAT?!)
Justin Whear via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 25 09:06:49 PDT 2014
On Thu, 24 Jul 2014 22:00:43 +0000, Pavel wrote:
> On Thursday, 24 July 2014 at 16:09:25 UTC, Justin Whear wrote:
>> On Thu, 24 Jul 2014 16:04:01 +0000, Pavel wrote:
>>>
>>> Thanks to all you folks who explained "in" operator for me. My bad.
>>> Let's focus on the real problem, which is JSON wrapper class. Is it
>>> needed? Wouldn't it be better to get AA from parseJSON?
>>
>> The following are valid JSON:
>>
>> auto json1 = parseJSON(`1`);
>> auto json2 = parseJSON(`"foo"`);
>> auto json3 = parseJSON(`[1, 2, 3]`);
>>
>> None of these fit naturally into an JSONValue[string] return type.
>
> Now we figured it out about JSON, but in that case:
> Why not just use std.variant.Variant construct instead of JSONValue?
While I suspect the reason is simply historical, it might be a type-
safety/information problem as well. Variant can store values of
essentially any type whereas JSON is strictly limited to a handful of
simple types. Going from a JSON string to Variant might not be
troublesome, but going from Variant to JSON string almost certainly would.
That said, if you think it's worth it, I'd be up for reviewing a revamped
std.json.
More information about the Digitalmars-d-learn
mailing list