PILAR GUERRERO · May 25, 2017

How can i convert my object in JSON ?


I’m creating a REST API service but I need to convert my object in JSON.

The Class “A” is extended from another Class “B”:

Class message_B Extends Ens.Request

Property ClientId As %String(MAXLEN = "");

Property mesagge As %String(MAXLEN = "");

Class message_A Extends message_B
Property idDate As %String;

Property Datetime As %String;

Property time As %String;


When I use:

set pRequest = ##Class(message_A).%New()
​do ##class(Ens.Util.JSON).ObjectToJSONStream(pRequest, .content)

This convert all properties  (A y B), but I want that only convert properties in A. I mean, in JSON appear all property, incluided ClientId, mesagge, however I want that this varibales not appear in my JSON.

How can i do ?

0 1,850
Discussion (7)2
Log in or sign up to continue

Cache for Windows (x86-64) 2016.2.1 (Build 803U) 


Firstly, thank for your answer.  I try this method, but my object isn't  %DynamicAbstractObject, for this reason not found using %ToJSON() :-(

You could create a temporary object and just put in the properties you want:

USER>s ret={}

USER>s ret.idDate="something"

USER>s ret.Datetime="something2"

USER>s ret.time="something3"

USER>w ret.%ToJSON()

But the new object you are creating with

s ret={}

is :)

You can do:
s ret={}
s ret.propa={}
s ret.propa.subprop="something"

Ok! I have just one more question ...
s ret = {}
s ret.IdClient= "123"
How can i do something like that ?:
s = "peter"
When i try ...

Ok! I have just one more question ...

s ret = {}

s  ret.IdClient.= "123"

How can i do something like that ?: 

s = "peter"

When i try ... <INVALID OREF>