Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1 if successful, 0 if there was an error.

Parameters

ParameterDescription
MemberNameThe name of the new object member.
ValueThe new value. Omit to pass null.
HintForces the value into a json type. Can be "Bool", "Null", "String", or "
String
Array".
 
Optional. 
OpenerStarts a new object or array. Can be "{" or "[".
CloserCloses the current element. Can be "}" or "]".

Remarks

SRP_JsonX is a dynamic routine that interprets its parameter based on the current state of the document, and calling it can even change the state. The actual parameter names are strange, so the SRP Editor tooltip won't always be of use. There are three general use cases:

Use CaseSyntaxBehavior
Adding Member to Object
SRP_JsonX(MemberName, Value, Hint)
Adds or replaces the member of the current object with the given value. If you omit the value, then you set the member to null. 
Adding Value to Array
SRP_JsonX(Value, Hint)
Adds the given value to the end of the current array. If you omit the value, then you add null to the end of the array.
Starting Object/Array in Object
SRP_JsonX(MemberName, Opener)
Adds or replaces the member of the current object with an empty object or array. The opener must be "{" to start a new object or "[" to start a new array. The new object/array becomes the current element.
Starting Object/Array in Array
SRP_JsonX(Opener)
Adds an empty object or array to the end of the current array. The opener must be "{" to start a new object or "[" to start a new array. The new object/array becomes the current element.
Closing
SRP_JsonX(Closer)
Passing "}" or "]" closes the current object or array and makes it's parent the new current element.

The Value parameter will be smartly interpreted by the routine unless a Hint is specified. OI numbers are converted into json numbers. You can also pass json as a value, and this routine will parse the json and set it as the current element's value. Note. You can even pass partial json. For example, let's say every object has a "type" member, you can open a new object with the member in one call, leaving the object open for further calls to SRP_JsonX:

...