Skip to main content

I have a JSON-schema. A part of it looks like this: 

    "dct_license_sm": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }

 I feed data into a featurewriter pointed at the schema-file. The corresponding data from the input looks like this:

dct_license_sm (string: UTF-8): https://creativecommons.org/licenses/by/4.0/

So - a string, but in the schema it is declared that this is to be an array with string-items. Then I would expect the output to be like:

  "dct_license_sm": t
    "https://creativecommons.org/licenses/by/4.0/"
  ],

Obviously declared as an array containing a single string. But my results in FME via the FeatureWriter comes out like this:

"dct_license_sm" : "https://creativecommons.org/licenses/by/4.0/",

In the FeatureWriter I can't change the datatype.

What would be a good way around this?

 

 

 

You could generate the list of strings in your workspace and then define the output attribute as a pre-defined json block:

imageIn you case, dct_license_sm could contain e.g. the following valid JSON list:

l"https://creativecommons.org/licenses/by/4.0/"]

 


You could generate the list of strings in your workspace and then define the output attribute as a pre-defined json block:

imageIn you case, dct_license_sm could contain e.g. the following valid JSON list:

l"https://creativecommons.org/licenses/by/4.0/"]

 

Isn't that a bit complicated?  Do you know why FME doesn't respect the datatype? 


Isn't that a bit complicated?  Do you know why FME doesn't respect the datatype? 

Strictly speaking, an array of strings is comprised of two data types ;-)

But you can also do something like this:

imageIn my case {0} = 'abc' and {1} = 'def'.

Result:

{
{
"json_featuretype" : "NewFeatureType",
"dct_license_sm" :  Â "abc", "def" ]
}
]

 


Reply