JSON.encode(myActivity.getOptions()) Implement a getOptions() method that just returns this.options.
I've not tested this, but it seems pretty straight-forward. ~Philip On Fri, Nov 11, 2011 at 3:28 AM, Blackbird <[email protected]> wrote: > Hi, > > > I'm using Mootools classes extensively in my business logic. I would > like to encode only the "options" of corresponding instances in JSON. > Automatically. > > > Let me take an example. Encoding an instance of the following class: > > ######## > var Activity = new Class({ > Implements: [Options], > > initialize: function(options) { > this.options = options; > }, > > options: { // Defaults > "vehicles": [] > }, > > getId: function() { > return this.options.id; > }, > > getStartDateTime: function() { > return this.options.startDateTime; > }, > > getEndDateTime: function() { > return this.options.endDateTime; > }, > > getOriginStation: function() { > return this.options.originStation; > }, > > getDestinationStation: function() { > return this.options.destinationStation; > }, > > getComment: function() { > return this.options.comment; > }, > > getVehicles: function() { > return this.options.vehicles; > } > }); > ######## > > > Now, calling "JSON.encode(myActivity)" will result in the following > JSON: > > ######## > { > "options":{ > "startDateTime":"2011-11-11T05:12:22.850Z", > "endDateTime":"2011-11-11T05:27:22.850Z", > "originStation":{ > "$caller":null, > "caller":null, > "options":{ > "code":"CST", > "name":"Stockholm C" > } > }, > "destinationStation":{ > "$caller":null, > "caller":null, > "options":{ > "code":"CST", > "name":"Stockholm C" > } > }, > "vehicles":[ > { > "$caller":null, > "caller":null, > "options":{ > "id":"2110", > "type":"RABe525" > } > } > ], > "trainNumber":"8424", > "tractionType":"M1" > }, > "$caller":null, > "caller":null > } > ######## > > > But I would like only the "options" to be encoded, which would result > in the following JSON: > > ######## > { > "startDateTime":"2011-11-11T05:12:22.850Z", > "endDateTime":"2011-11-11T05:27:22.850Z", > "originStation":{ > "code":"CST", > "name":"Stockholm C" > }, > "destinationStation":{ > "code":"CST", > "name":"Stockholm C" > }, > "vehicles":[ > { > "id":"2110", > "type":"RABe525" > } > ], > "trainNumber":"8424", > "tractionType":"M1" > } > ######## > > > Is there a way to do this automatically? -- http://lonestarlightandsound.com/
