Doesn’t this mean that the current jsonget parameter handling also has the same limitation?
My proposal simply makes the current jsonget reference handling syntax available for use in the $transclude widget, so instead of writing:
<$let value={{{ [[SomeJSONTiddler]jsonget[a],[b],[c],[d]] }}}><<value>></$let>
you can write:
<$transclude $tiddler="SomeJSONTiddler" $index="[a],[b],[c],[d]"/>
It also occurs to me that this same enhanced $index handling could also be useful in $action-setfield. Consider… to update a value in a JSON tiddler, you currently need to fetch a tiddler’s text field value, apply jsonset to that value, and then use $action-setfield to re-write the text field, like this:
<$let old={{{ [[SomeJSONTiddler]get[text]] }}}
new={{{ [<old>jsonset[a],[b],[c],[d],<somevalue>] }}}>
<$action-setfield $tiddler="SomeJSONTiddler" text=<<new>>/>
</$let>
Even if you combine these steps in single widget, it’s still a somewhat awkward (and error prone) syntax:
<$action-setfield $tiddler="SomeJSONTiddler"
text={{{ [[SomeJSONTiddler]get[text]jsonset[a],[b],[c],[d],<somevalue>] }}}/>
compared with:
<$action-setfield $tiddler="SomeJSONTiddler" $index="[a],[b],[c],[d]" $value=<<somevalue>>/>
-e