digitalmars.D.learn - How to set JSON_TYPE in 2.0.65
- nrgyzer (17/17) Mar 31 2014 Hi guys,
- Matt Soucy (9/31) Mar 31 2014 I believe that this was simplified in recent releases, so one only needs
- Justin Whear (7/14) Mar 31 2014 That's correct, the type field has been moved to a read-only property.
- Colden Cullen (3/36) Mar 31 2014 I believe for this case you would want this:
- Tolga Cakiroglu (3/5) Mar 31 2014 Yeah, and unfortunately, there is no that easy way to create an
- nrgyzer (8/41) Apr 03 2014 Thanks Matt, but this doesn't work because the object-property
- Nikolay (3/3) Apr 10 2014 I used
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?
Mar 31 2014
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) -- Matt Soucy http://msoucy.me/
Mar 31 2014
On Mon, 31 Mar 2014 15:05:10 -0400, Matt Soucy wrote: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)That's correct, the type field has been moved to a read-only property. JSONValue should derive the appropriate type via assignment: JSONValue i = 2; // type == INTEGER JSONValue s = "s"; // type == STRING JSONValue a = [ JSONValue(1.0) ]; // type == ARRAY (of FLOAT) Note that you can also use the constructor (calls opAssign internally).
Mar 31 2014
On Monday, 31 March 2014 at 19:05:11 UTC, Matt Soucy wrote:On 03/31/2014 02:59 PM, nrgyzer wrote:I believe for this case you would want this: JSONValue oJson = [ "myEntry": "MyText" ];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)
Mar 31 2014
I believe for this case you would want this: JSONValue oJson = [ "myEntry": "MyText" ];Yeah, and unfortunately, there is no that easy way to create an empty "object" type json value though. (Yes, I had a need for that). I needed to work around of that.
Mar 31 2014
On Monday, 31 March 2014 at 19:05:11 UTC, Matt Soucy wrote:On 03/31/2014 02:59 PM, nrgyzer wrote: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!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)
Apr 03 2014
I used JSONValue rs = JSONValue([null:null]); for empty object
Apr 10 2014