Alternative Ways to Read JSON Data

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