json.get: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 28: Line 28:
|examples=
|examples=
<source lang="mtmacro" line>
<source lang="mtmacro" line>
   [h: a = json.fromStrProp("a=1;b=44;c=12")] [r: json.get(a,"b")]
   [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b")]
   [h: a = json.fromList("1,44,12")] [r: json.get(a,1)]
  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "XX"]
  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b", "a")]
   [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b", "a")]
  [h: ja = json.fromList("1,44,12")] [r: json.get(ja, 1)]
  [h: ja = json.fromList("1,44,12")] [r: json.get(ja, 7)]
</source>
</source>


Returns
Returns
   44
   44
  empty string ""
  a JSON object -- {"b":44,"a":1}
   44
   44
  code error -- java.lang.ArrayIndexOutOfBoundsException
|changes=
|changes=
{{change|1.3b51|Added ability to return [[JSON Array]] slices.}}
{{change|1.3b51|Added ability to return [[JSON Array]] slices.}}

Revision as of 06:54, 31 December 2010

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
 This article needs: Examples for the new functionality.

json.get() Function

Introduced in version 1.3b49
Returns the value in a JSON Array at the specified index, returns a slice of a JSON Array from the specified indexes, or returns the value from JSON Object for the specified key.

Usage

json.get(array, index)
json.get(array, start, end)
json.get(object, key, key, ...)

Parameters

  • array - The JSON Array to retrieve the element from.
  • index - The numerical index of the element you want returned.
  • start - The starting index of the element you wish the slice to begin at.
  • end - The ending index of the element you wish the slice to end at.
  • object - The JSON Object to retrieve the element from.
  • key - The name of a field that should be returned. This parameter can exist more than once, if it does then a JSON Object is returned with all the specified elements.

Negative numbers can be used as the offsets from the end of the array, -1 is the last element in the array, -2 is the second to last, and so on. If the end index is smaller than the start index then the array slice is returned in reverse.

Examples

  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b")]
  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "XX"]
  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b", "a")]
  [h: jo = json.fromStrProp("a=1; b=44; cat=12")] [r: json.get(jo, "b", "a")]
  [h: ja = json.fromList("1,44,12")] [r: json.get(ja, 1)]
  [h: ja = json.fromList("1,44,12")] [r: json.get(ja, 7)]

Returns

 44
 empty string ""
 a JSON object -- {"b":44,"a":1}
 44
code error -- java.lang.ArrayIndexOutOfBoundsException

Version Changes