How to set JSON_TYPE in 2.0.65

nrgyzer nrgyzer at gmail.com
Thu Apr 3 09:42:16 PDT 2014


On Monday, 31 March 2014 at 19:05:11 UTC, Matt Soucy wrote:
> On 03/31/2014 02:59 PM, nrgyzer wrote:
>> Hi guys,
>> 
>> I updated my dmd version from 2.0.63 to 2.0.65 and having some 
>> trouble
>> with my JSON-definitions. The code below worked in 2.0.63 but 
>> not in
>> 2.0.65:
>> 
>> JSONValue oJson = JSONValue();
>> oJson.type = JSON_TYPE.OBJECT; // FAILS
>> oJson.object["myEntry"] = JSONValue();
>> oJson.object["myEntry"].type = JSON_TYPE.STRING; // FAILS
>> oJSon.object["myEntry"].str = "MyText";
>> 
>> Since the type property is a constant in 2.0.65, I've no idea 
>> how I can
>> set the type for my JSON entries. I already tried the 
>> following:
>> 
>> JSONValue oJson = JSONValue(JSON_TYPE.OBJECT);
>> oJson.object["myEntry"] = JSONValue(JSON_TYPE.STRING);
>> oJSon.object["myEntry"].str = "MyText";
>> 
>> But this gives me something like: "JSONValue is not an object".
>> 
>> Any idea how I can set the corresponding value type?
> I believe that this was simplified in recent releases, so one 
> only needs
> to do the following:
>
> JSONValue oJson;
> oJson.object["myEntry"] = "MyText";
>
> (Untested but I believe this is how it's supposed to be now)

Thanks Matt, but this doesn't work because the object-property 
checks the type of the JSONValue and throws the corresponding 
exception. But the following works:

JSONValue oJson = ["myEntry" : "MyText"];
oJson.object["myEntry_2"] = "MyText_2";
...

Thanks to all!


More information about the Digitalmars-d-learn mailing list