Skip to main content

In the JSONTemplater is there a way to cast an array of strings into an array of intergers?

 

https://community.safe.com/s/question/0D54Q000080hA0SSAU/how-to-coerce-attribute-type-for-jsontemplater?t=1636407693748  answers the question for regular attributes   but this does not work with fme:get-list-attribute.

 

{"ids": t(fme:get-list-attribute("_list{}.id"))]
 }

returns {"ids": /"1","2","3"]}    

I would like

{"ids": }1,2,3]}

 

 

Could do something janky like this with regex?

image


I used something like this in my JOSNTemplator:

  "errors": e
    for $v in fme:get-list-attribute('errors{}.error_code')
    return xs:integer($v)
  ]

This taken from an old post of Takashi's - no credit to me


Something like this?

{
    "ids" : d
        let $list := fme:get-list-attribute("_list{}.id")
        for $x at $n in $list
            return { xs:int($x)}
    ]
}

 


Try the following:

{"ids": :
        let $ids := fme:get-list-attribute("_list{}.id")
        for $x in $ids
            return {xs:int($x)}
    ]
}

See also: https://community.safe.com/s/question/0D54Q000080hDRQSA2/outputting-a-numeric-array-using-json-templater


Reply