Sounds like one of the few remaining places in FME that does not properly support referencing a parameter (rather than an attribute), consider flagging it as a possible bug with Safe Support.
The thing is here the transformer is looking for an Attribute Name - you can have a published parameter with the name of the attribute. The Parameter in this case is just a pointer to the Attribute the transformer should look for.
In the log file you can see it's trying to look for an attribute with the name of your JSON. It doesn't find any attribute with that name.
If the Parameter has the value of the attribute name then it works (e..g, "_boundingbox")
The thing is here the transformer is looking for an Attribute Name - you can have a published parameter with the name of the attribute. The Parameter in this case is just a pointer to the Attribute the transformer should look for.
In the log file you can see it's trying to look for an attribute with the name of your JSON. It doesn't find any attribute with that name.
If the Parameter has the value of the attribute name then it works (e..g, "_boundingbox")
I am aware of the source setting to "JSON Attribute". Yet, the documentation refers to any string expression, including attribute values and workspace parameters!
Adding an extra AttributeCreator or any other transformer for the sake of creating a link to a UserParameter should not be necessary according to the documentation, or the possibilities offered from within the JSONFragmenter settings dialog.
I am aware of the source setting to "JSON Attribute". Yet, the documentation refers to any string expression, including attribute values and workspace parameters!
Adding an extra AttributeCreator or any other transformer for the sake of creating a link to a UserParameter should not be necessary according to the documentation, or the possibilities offered from within the JSONFragmenter settings dialog.
Ha - you're right. I just checked the doc and I think the doc is wrong here. Either that or the functionality is not expected. Certainly other JSON transformers support a "JSON Document" as input whereas this one says JSON Attriubte. I will then have to agree with @david_r and suggest you ask Safe.
Here is the FME 2021 doc:
and here is the FME 2022 doc:
My guess is that the documentation was modified and that it was assume that this section applied to all JSON transformers.
I looked through the change logs of FME 2022 and couldn't see anything about the JSONFragmenter getting an upgrade.
Alright, flagged it as possible bug. Thanks for your comments.
@Thomas Becker Hi there, thanks for the question and the repro workspace. I took a peek at the JSONFragmenter_2 in your workspace, and I see that the User Parameter referenced for the JSON Attribute parameter of the transformer is a Geometry user parameter.
The issue at play here is that this JSON Attribute parameter requires a User Parameter of type Attribute Name in order to function correctly. It's looking to be pointed to an attribute containing the JSON text needed. A Geometry User Attribute is not formatted in a way that this JSON Attribute parameter can recognize and process.
A good way to check on the type of User Parameter that any given transformer parameter expects is to create the user parameter from within the transformer itself, rather than from the Manage User Parameters menu. As my own check, I made a copy of your JSONFragmenter_2, and then selected the drop-down next to its JSON Attribute parameter. I then chose the User Parameter option, and then Create User Parameter.
When I viewed this created User Parameter in Manage User Parameters, I noticed that the created User Parameter was of type Attribute Name.