using vibe.d to parse json

Laeeth Isharc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Apr 9 03:44:01 PDT 2015


On Tuesday, 7 April 2015 at 22:15:13 UTC, Sönke Ludwig wrote:
> Am 26.03.2015 um 02:38 schrieb Laeeth Isharc:
>> On Thursday, 26 March 2015 at 01:04:06 UTC, Jakob Ovrum wrote:
>>> On Thursday, 26 March 2015 at 00:41:50 UTC, Laeeth Isharc 
>>> wrote:
>>>>> Yeah, it is not very intuitive. But it works.
>>>>
>>>> Thanks.
>>>>
>>>> Next question - how can I correctly deal with 
>>>> inconsiderately chosen
>>>> JSON field names like 'private' (which conflict in a struct
>>>> declaration with D language keywords).  A hack is to do a 
>>>> search and
>>>> replace on the JSON before presenting it to vibe.d, but I 
>>>> wondered if
>>>> there was a better way. Incidentally, vibe doesn't seem to 
>>>> like my
>>>> replacing private with private_ - whereas privateX works.
>>>>
>>>>
>>>> Laeeth.
>>>
>>> Use the @name attribute:
>>>
>>> http://vibed.org/api/vibe.data.serialization/name
>>
>> aha!  Thanks.  (and to dicebot - I am not sure index-based 
>> access works
>> as the problem is in parsing stage, not accessing).
>
> If I understood the issue correctly, there is also the 
> possibility to append an underscore to the D field name in case 
> of keyword conflicts:
>
> struct S {
> 	int private_; // will be represented as "private"
> }
>
> This predated the @name attribute (and UDAs in general) and 
> today the latter is probably more appropriate.

Thanks, Sonke.



More information about the Digitalmars-d-learn mailing list