• Do not register here on develop.twiki.org, login with your twiki.org account.
• Use View topic Item7848 for generic doc work for TWiki-6.1.1. Use View topic Item7851 for doc work on extensions that are not part of a release. More... Close
• Anything you create or change in standard webs (Main, TWiki, Sandbox etc) will be automatically reverted on every SVN update.
Does this site look broken?. Use the LitterTray web for test cases.

Item7675: GET with support for JSON path using [*] wildcard array index

Item Form Data

AppliesTo: Component: Priority: CurrentState: WaitingFor: TargetRelease ReleasedIn
Extension SetGetPlugin Enhancement Closed   patch 6.0.2

Edit Form Data

Reported By:
Applies To:
Current State:
Waiting For:
Target Release:
Released In:


The SetGetPlugin already supports a JSON path to set and get a JSON variable, such as %GET{ projects[1].key }%

This enhancement supports wildcards for the array index, such as %GET{ projects[*].key }%. The result is a JSON array containing all indicated structures.

Test case:

  • %SET{ projects = [ { "name": "Prj A", "key": "PrjA", "owner": { "name": "Aaron", "id": 1 } }, { "name": "Prj B", "key": "PrjB", "owner": { "name": "Boris", "id": 2 } }, { "name": "Prj C", "key": "PrjC", "owner": { "name": "Charlie", "id": 3 } }, { "name": "Prj D", "MISSING-key": "PrjD", "owner": { "name": "Darwin", "id": 4 } } ] }%
    MOVED TO... /[{"owner":{"name":"Aaron","id":1},"name":"Prj A","key":"PrjA"},{"owner":{"name":"Boris","id":2},"name":"Prj B","key":"PrjB"},{"owner":{"name":"Charlie","id":3},"name":"Prj C","key":"PrjC"},{"owner":{"name":"Darwin","id":4},"MISSING-key":"PrjD","name":"Prj D"}]/
    • %GET{ projects[2] }%
      MOVED TO... /{"owner":{"name":"Charlie","id":3},"name":"Prj C","key":"PrjC"}/
    • %GET{ projects[2].name }%
      MOVED TO... /Prj C/
    • %GET{ projects[*] }%
      MOVED TO... /[{"owner":{"name":"Aaron","id":1},"name":"Prj A","key":"PrjA"},{"owner":{"name":"Boris","id":2},"name":"Prj B","key":"PrjB"},{"owner":{"name":"Charlie","id":3},"name":"Prj C","key":"PrjC"},{"owner":{"name":"Darwin","id":4},"name":"Prj D","MISSING-key":"PrjD"}]/
    • %GET{ projects[*].name }%
      MOVED TO... /["Prj A","Prj B","Prj C","Prj D"]/
    • %GET{ projects[*].key }%
      MOVED TO... /["PrjA","PrjB","PrjC",null]/
    • %GET{ projects[*].owner }%
      MOVED TO... /[{"name":"Aaron","id":1},{"name":"Boris","id":2},{"name":"Charlie","id":3},{"name":"Darwin","id":4}]/
    • %GET{ projects[*].owner.name }%
      MOVED TO... /["Aaron","Boris","Charlie","Darwin"]/
    • %GET{ projects[*].owner.id }%
      MOVED TO... /[1,2,3,4]/

-- TWiki:Main/PeterThoeny - 2015-07-09

Summary GET with support for JSON path using [*] wildcard array index
ReportedBy TWiki:Main.PeterThoeny
Codebase ~twiki4, 6.0.1
SVN Range TWiki-6.0.1-trunk, Thu, 18 Jun 2015, build 29363
AppliesTo Extension
Component SetGetPlugin
Priority Enhancement
CurrentState Closed

Checkins TWikirev:29397 TWikirev:29398 TWikirev:29399 TWikirev:29400
TargetRelease patch
ReleasedIn 6.0.2
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View |  Raw edit | More topic actions
Topic revision: r7 - 2016-01-22 - PeterThoeny
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback