json.evaluate: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Initial write-up.)
 
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{stub}}
{{MacroFunction
{{MacroFunction
|name=json.evaluate
|name=json.evaluate
Line 5: Line 4:
|version=1.3b51
|version=1.3b51
|description=
|description=
Traverses a JSON array or JSON object and evaluates any macro code or rolls contained within. All macro code and rolls are evaluated against the current token.
Traverses a JSON array or JSON object and evaluates any macro code or rolls contained within. All macro code and rolls are evaluated against the current token.  This function works like {{func|evalMacro}}.


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
json.evaluate(array)
json.evaluate(array)
</source>
</syntaxhighlight>
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
json.evaluate(object)
json.evaluate(object)
</source>
</syntaxhighlight>
'''Parameters'''
'''Parameters'''
* {{code|array}} - The JSON array which has its contents evaluated.
* {{code|array}} - The JSON array which has its contents evaluated.
* {{code|object}} - The JSON object which has its contents evaluated.
* {{code|object}} - The JSON object which has its contents evaluated.
|example=
Using {{code|json.eval}} on an {{code|array}} and an {{code|object}}.
<syntaxhighlight lang="mtmacro" line>
[H: run = json.append("","[r: 1d6]")]
[R: json.evaluate(run)]<br>
[H: run = json.set("{}","roll","{3d6}")]
[R: json.evaluate(run)]
</syntaxhighlight>
'''Output:'''
<syntaxhighlight lang="mtmacro">
[5]
{"roll":11}
</syntaxhighlight>
|also=
{{func|evalMacro}}


}}
}}
[[Category:JSON Function]]
[[Category:JSON Function]]

Latest revision as of 17:49, 15 March 2023

json.evaluate() Function

 Note: This function can only be used in a Trusted Macro

Introduced in version 1.3b51
Traverses a JSON array or JSON object and evaluates any macro code or rolls contained within. All macro code and rolls are evaluated against the current token. This function works like evalMacro().

Usage

json.evaluate(array)
json.evaluate(object)

Parameters

  • array - The JSON array which has its contents evaluated.
  • object - The JSON object which has its contents evaluated.

Example

Using json.eval on an array and an object.
[H: run = json.append("","[r: 1d6]")]
[R: json.evaluate(run)]<br>
[H: run = json.set("{}","roll","{3d6}")]
[R: json.evaluate(run)]

Output:

[5]
{"roll":11}

See Also