JsonObject Chilkat2 PHP Reference Documentation

JsonObject

Current Version: 11.7.0

Markdown version of this page for AI tools (v 11.7.0) · all AI docs

Chilkat.JsonObject

Load, navigate, create, modify, search, sort, and emit JSON objects.

Chilkat.JsonObject provides DOM-style access to JSON objects. It can load, inspect, modify, create, search, sort, emit, and save JSON data. It supports path-based access, index-based member access, automatic creation of nested paths, object and array references, Firebase-style updates, record searches, date/time conversion, binary data encoding, variable substitution, and optional secure secret resolution.

Load and emit JSON

Load JSON from strings, files, buffers, or Chilkat objects, then emit the result as compact or pretty-formatted JSON.

Path-based navigation

Read and update nested values using JSON paths, with support for automatically creating missing object or array paths.

Member access

Access object members by name or index, inspect member types, retrieve values, and remove or rename members as needed.

Nested objects and arrays

Work directly with child JsonObject and JsonArray references to navigate and modify complex JSON structures.

Search and transform

Search records, sort object members, perform Firebase-style updates, and prepare JSON for API requests or application storage.

Special value handling

Handle date/time values, binary data encodings, exact numeric text, variable substitution, and secure secret resolution.

Common pattern: Load or create a JsonObject, navigate named members and nested paths, retrieve child arrays as JsonArray objects when ordered lists are encountered, update values as needed, then emit or save the final JSON. Use JsonObject for named JSON members and JsonArray for ordered lists.

Object Creation

use Chilkat2\JsonObject;

try {
    $json = new JsonObject();
    // ... use $json ...
} catch (\Chilkat2\Exception $e) {
    echo $e->getClass(), '::', $e->getMethod(), " failed\n";
    echo $e->getMessage(), "\n";              // the LastErrorText of the failed call
}
public function __construct(array $properties = [])

Creates the object. The optional array sets properties in order, as if assigned one by one (new JsonObject(['VerboseLogging' => true, 'RaiseError' => false])); an unknown or read-only name throws Error. The class is defined by the chilkat2 extension (extension=chilkat2 in php.ini): there is no PHP file to include.

There is no close(): PHP frees the object when its last reference goes (unset($json), $json = null, or the end of the function or request). Objects returned by methods are independent and freed the same way. The class may be extended (class MyJsonObject extends \Chilkat2\JsonObject); objects cannot be cloned or serialized.

public bool $RaiseError;

When true (the default), a method that fails throws Chilkat2\Exception. When false, it returns false (or null) instead, and the reason is in LastErrorText. Objects returned by a method inherit the value of the object that returned them.

Errors

Chilkat2\Exception extends RuntimeException: getMessage() is the failed call's full LastErrorText, getClass() its class ('Chilkat2\JsonObject') and getMethod() the method name. The object remains usable. Methods that look something up and find nothing return null without throwing (each such method says so), methods that answer a question (HasMember, IsUnlocked, ...) return a plain bool, and property reads and writes do not throw for Chilkat reasons.

Misuse always throws, whatever RaiseError is: a wrong argument type is a TypeError (exact types under declare(strict_types=1)), a missing or extra argument an ArgumentCountError, a string containing a NUL byte or an out-of-range integer a ValueError, and an unknown property (properties are case-sensitive) or a write to a read-only one an Error. Named arguments work with the parameter names shown.

Strings are passed and returned as UTF-8; binary data is a PHP string of bytes. Unlocking: call (new \Chilkat2\GlobalSettings())->UnlockBundle('...') once at startup.

Properties

DebugLogFilePath
public string $DebugLogFilePath;

If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. This logging helps identify the context and history of Chilkat calls leading up to any crash or hang, aiding in debugging.

Enabling the VerboseLogging property provides more detailed information. This property is mainly used for debugging rare instances where a Chilkat method call causes a hang or crash, which should generally not happen.

Possible causes of hangs include:

  • A timeout property set to 0, indicating an infinite timeout.
  • A hang occurring within an event callback in the application code.
  • An internal bug in the Chilkat code causing the hang.

More Information and Examples
top
DelimiterChar
public string $DelimiterChar;
Introduced in version 9.5.0.58

Specifies the character used to separate object-member names in Chilkat JSON paths. The default is .. Set it to / for Firebase-style paths. This property should contain exactly one character.

Arrays in paths: Array indexes continue to use square brackets, such as orders[0].id. If a member name itself contains a path-separator character, quote that path component with double quotes.

top
EmitCompact
public bool $EmitCompact;
Introduced in version 9.5.0.56

Controls whether emitted JSON is compact or pretty-printed. The default is true.

trueEmit a compact representation with no extra formatting whitespace.
falseEmit indented, human-readable JSON.
JSON semantics: Formatting whitespace does not change the JSON data. Use compact output for transport/storage and pretty output for diagnostics or human review.

top
EmitCrLf
public bool $EmitCrLf;
Introduced in version 9.5.0.56

Controls line endings when pretty-printed JSON is emitted (EmitCompact = false). The default is true.

trueUse CRLF line endings.
falseUse LF line endings.
Compact output: This setting has no effect when EmitCompact is true because compact JSON is emitted without formatting line breaks.

top
EnableSecrets
public bool $EnableSecrets;
Introduced in version 11.5.0

Enables automatic resolution of Chilkat secret specification strings for supported string-setting methods. The default is false. When enabled, a value beginning with !! can identify a credential stored in Windows Credential Manager or Apple Keychain instead of embedding the literal secret in application code.

Secret specification format: !![appName|]service[|domain]|username.

This feature applies to AddStringAt, AppendString, SetStringAt, SetStringOf, UpdateSb, and UpdateString.

Security: Secret resolution changes where the string value comes from; the resulting JSON member still contains the resolved value. Avoid emitting or logging JSON that contains credentials unless that exposure is explicitly intended.

More Information and Examples
top
I
public int $I;
Introduced in version 9.5.0.56

Supplies the integer substituted for i when a JSON path contains an array index such as [i]. This is useful for loop-based navigation without constructing a new path string for every iteration.

Related properties: The J and K properties provide the same substitution behavior for [j] and [k].

More Information and Examples
top
J
public int $J;
Introduced in version 9.5.0.56

Supplies the integer substituted for j when a JSON path contains [j]. It is commonly used with nested-array paths such as matrix[i][j].

top
K
public int $K;
Introduced in version 9.5.0.56

Supplies the integer substituted for k when a JSON path contains [k]. It can be combined with I and J for deeper nested-array traversal.

top
LastErrorHtml
public readonly string $LastErrorHtml;

Provides HTML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorText
public readonly string $LastErrorText;

Provides plain text information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorXml
public readonly string $LastErrorXml;

Provides XML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastMethodSuccess
public bool $LastMethodSuccess;

Indicates the success or failure of the most recent method call: true means success, false means failure. This property remains unchanged by property setters or getters. This method is present to address challenges in checking for null or Nothing returns in certain programming languages. Note: This property does not apply to methods that return integer values or to boolean-returning methods where the boolean does not indicate success or failure.

top
LowerCaseNames
public bool $LowerCaseNames;
Introduced in version 9.5.0.87

If true, member names are converted to lowercase while JSON is loaded by Load, LoadBd, LoadSb, or LoadFile. The default is false.

Important: This changes member names in the parsed document; it is not merely a case-insensitive lookup mode. Use it only when normalizing names is intentional.

top
PathPrefix
public string $PathPrefix;
Introduced in version 9.5.0.76

Specifies a path prefix automatically prepended to JSON paths passed to path-based methods such as StringOf, ObjectOf, UpdateString, SetBoolOf, and SizeOfArray. The default is the empty string.

Use case: Set a prefix when many operations target the same nested object. The individual method calls can then use paths relative to that prefix.

More Information and Examples
top
Size
public readonly int $Size;
Introduced in version 9.5.0.56

Returns the number of direct name/value members in this JSON object. Nested members inside child objects are not included.

JSON objects and order: RFC 8259 defines a JSON object as an unordered collection of name/value pairs. Chilkat preserves a member order so index-based APIs and deterministic emission are possible, but interoperable application logic should generally use member names rather than depend on object order.

More Information and Examples
top
Strict
public bool $Strict;
Introduced in version 11.6.0

When Strict is true, the Load methods first check that the data is well-formed JSON. If it is not, the load fails and the contents of this JsonObject are left unchanged. The default is false.

This applies to Load, LoadSb, LoadBd, LoadFile and LoadPredefined.

Chilkat's JSON parser is deliberately tolerant. By default it can accept text that is not well-formed, succeed, and leave an empty or partially populated document. That is convenient when the goal is a best-effort parse of imperfect input, but it is the wrong behavior when a silently missing member changes what the application does. A single missing comma, for example, can cause the members after it to be dropped while the load still reports success.

Set Strict to true for JSON carrying configuration, credentials, or security parameters, where a member that quietly failed to load would be acted on as though it had never been specified.

Note: The default is false so that existing applications are unaffected. When a strict load is rejected, this JsonObject keeps whatever it held before the call, so a failed reload never leaves the object empty.

top
UncommonOptions
public string $UncommonOptions;
Introduced in version 9.5.0.90

Provides a catch-all string for uncommon, implementation-specific options. The default is the empty string and it should normally remain empty.

Recommendation: Do not invent option keywords. Set this property only when a specific JsonObject option is documented by Chilkat or provided by Chilkat support.

top
VerboseLogging
public bool $VerboseLogging;

If set to true, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is false. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

top
Version
public readonly string $Version;

Version of the component/library, such as "10.1.0"

More Information and Examples
top

Methods

AddArrayAt
public function AddArrayAt(int $index, string $name): bool
Introduced in version 9.5.0.56

Inserts a new JSON array member named name at the zero-based member position index. The new array is empty.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddArrayCopyAt
public function AddArrayCopyAt(int $index, string $name, JsonArray $jarr): bool
Introduced in version 9.5.0.82

Inserts a new JSON array member named name at the zero-based member position index. The array value is copied from jarr; subsequent changes to the source array do not modify the inserted copy.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddBoolAt
public function AddBoolAt(int $index, string $name, bool $value): bool
Introduced in version 9.5.0.56

Inserts a new JSON boolean member named name at the zero-based member position index. The value is taken from value.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddIntAt
public function AddIntAt(int $index, string $name, int $value): bool
Introduced in version 9.5.0.56

Inserts a new JSON number member named name at the zero-based member position index. The integer value is emitted as a JSON number, not as a quoted string.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddNullAt
public function AddNullAt(int $index, string $name): bool
Introduced in version 9.5.0.56

Inserts a new JSON null member named name at the zero-based member position index.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddNumberAt
public function AddNumberAt(int $index, string $name, string $numericStr): bool
Introduced in version 9.5.0.56

Inserts a new JSON number member named name at the zero-based member position index. The numericStr argument supplies the exact JSON numeric text to store.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.
Exact numeric text: Use this method when lexical form or precision matters, for example 12345678901234567890, 1.2500, or scientific notation. The supplied text must be valid JSON number syntax; JSON does not permit NaN or infinity.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddObjectAt
public function AddObjectAt(int $index, string $name): bool
Introduced in version 9.5.0.56

Inserts a new JSON object member named name at the zero-based member position index. The new object is empty.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddObjectCopyAt
public function AddObjectCopyAt(int $index, string $name, JsonObject $jsonObj): bool
Introduced in version 9.5.0.82

Inserts a new JSON object member named name at the zero-based member position index. The object value is copied from jsonObj; the inserted value is independent of the source.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AddStringAt
public function AddStringAt(int $index, string $name, string $value): bool
Introduced in version 9.5.0.56

Inserts a new JSON string member named name at the zero-based member position index. The value is stored as a JSON string and is escaped as needed when emitted.

0Insert as the first member.
-1Append as the last member.
nInsert at zero-based position n.
Member name vs. JSON path: name is a direct member name, not a JSON path. Use an Update* or Set*Of method when addressing a nested value by path.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AppendArray
public function AppendArray(string $name): ?JsonArray
Introduced in version 9.5.0.58

Appends a new JSON array member named name to this object. The newly appended array is empty and the returned JsonArray references that array in this document, so changes made through it modify the same JSON tree.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
AppendArray2
public function AppendArray2(string $name, JsonArray $jarr): bool
Introduced in version 11.0.0

Appends a new JSON array member named name to this object. A new empty array is created and jarr is updated to reference it. The method returns true on success.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
AppendArrayCopy
public function AppendArrayCopy(string $name, JsonArray $jarr): bool
Introduced in version 9.5.0.82

Appends a new JSON array member named name to this object. The array is copied from jarr, so the appended array is independent of the source array.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AppendBool
public function AppendBool(string $name, bool $value): bool
Introduced in version 9.5.0.58

Appends a new JSON boolean member named name to this object. The value is taken from value.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
AppendInt
public function AppendInt(string $name, int $value): bool
Introduced in version 9.5.0.58

Appends a new JSON number member named name to this object. The integer value is stored as a JSON number.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
AppendObject
public function AppendObject(string $name): ?JsonObject
Introduced in version 9.5.0.58

Appends a new JSON object member named name to this object. The newly appended object is empty and the returned JsonObject references that object in this document.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
AppendObject2
public function AppendObject2(string $name, JsonObject $jsonObj): bool
Introduced in version 11.0.0

Appends a new JSON object member named name to this object. A new empty object is created and jsonObj is updated to reference it. The method returns true on success.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
AppendObjectCopy
public function AppendObjectCopy(string $name, JsonObject $jsonObj): bool
Introduced in version 9.5.0.82

Appends a new JSON object member named name to this object. The object is copied from jsonObj, so the appended object is independent of the source object.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
AppendString
public function AppendString(string $name, string $value): bool
Introduced in version 9.5.0.58

Appends a new JSON string member named name to this object. The value is JSON-escaped as needed when emitted.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
AppendStringArray
public function AppendStringArray(string $name, StringTable $values): bool
Introduced in version 9.5.0.67

Appends a new JSON array member named name to this object. The array is populated with the strings contained in values.

Member name vs. JSON path: name is a direct member name. It is not interpreted as a JSON path. Use the corresponding Update* method when a nested path should be addressed or created.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
ArrayAt
public function ArrayAt(int $index): ?JsonArray
Introduced in version 9.5.0.56

Returns the JSON array stored in the member at zero-based position index. The returned JsonArray references the existing array in the same document; it is not a detached copy.

Type requirement: The member at index must be an array. Use TypeAt when the member type is not already known.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
ArrayAt2
public function ArrayAt2(int $index, JsonArray $jarr): bool
Introduced in version 11.0.0

Updates jarr to reference the JSON array stored at zero-based member position index and returns true on success.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
ArrayOf
public function ArrayOf(string $jsonPath): ?JsonArray
Introduced in version 9.5.0.56

Returns the JSON array at jsonPath. The returned JsonArray references the existing array in the same document, so modifications through it are reflected in the parent JSON.

JSON paths: Paths are relative to this object and may include object-member separators and array indexes, for example orders[0].items.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is. The returned object is new and independent of this one, and inherits its RaiseError.

top
ArrayOf2
public function ArrayOf2(string $jsonPath, JsonArray $jarr): bool
Introduced in version 11.1.0

Updates jarr to reference the JSON array at jsonPath and returns true on success.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
BoolAt
public function BoolAt(int $index): bool
Introduced in version 9.5.0.56

Returns the boolean value of the member at zero-based position index.

Indexing: Member indexes are based on the order maintained by this JsonObject instance. JSON objects are semantically unordered, so application protocols should normally identify values by member name rather than by position.

Never throws: false is an answer, not a failure.

More Information and Examples
top
BoolOf
public function BoolOf(string $jsonPath): bool
Introduced in version 9.5.0.56

Returns the boolean value at jsonPath. The path is evaluated relative to this JsonObject, after applying PathPrefix if one is set.

Never throws: false is an answer, not a failure.

More Information and Examples
top
BytesOf
public function BytesOf(string $jsonPath, string $encoding, BinData $bd): bool
Introduced in version 9.5.0.68

Reads the string value at jsonPath, decodes it using encoding (for example, base64 or hex), and appends the resulting bytes to bd.

Binary-in-JSON convention: The JSON member itself is text. The encoding argument tells Chilkat how that text represents the original bytes.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
Clear
public function Clear(): void
Introduced in version 9.5.0.76

Removes all members from this JSON object, leaving an empty object equivalent to {}.

top
CopyRef
public function CopyRef(JsonObject $jsonObj): bool
Introduced in version 11.0.0

Updates jsonObj so that it references the same JSON object as the caller. No JSON data is copied.

Shared state: After this call, modifications through either reference affect the same underlying JSON object.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
DateOf
public function DateOf(string $jsonPath, DateTime $dt): bool
Introduced in version 9.5.0.73

Parses the date/time value at jsonPath and loads the result into dt. Recognized forms include ISO 8601 timestamps (for example, 2009-11-04T19:55:41Z), RFC 822-style date/time strings, and Unix timestamp integers.

JSON has no native date type: Dates in JSON are application conventions, usually represented as strings or numbers. This method recognizes common conventions and converts them to CkDateTime.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
Delete
public function Delete(string $name): bool
Introduced in version 9.5.0.56

Deletes the direct member named name from this JSON object.

Not a path: name is a member name, not a JSON path. Use a path-based operation when deleting or replacing a nested value requires navigation first.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
DeleteAt
public function DeleteAt(int $index): bool
Introduced in version 9.5.0.56

Deletes the member at zero-based position index. Members after the deleted position shift toward the beginning.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
DeleteRecords
public function DeleteRecords(string $arrayPath, string $relpath, string $value, bool $caseSensitive): int
Introduced in version 9.5.0.88

Deletes every object record in the array at arrayPath whose value at relative path relpath equals or wildcard-matches value. The caseSensitive argument controls matching. Returns the number of records deleted.

top
DtOf
public function DtOf(string $jsonPath, bool $bLocal, DtObj $dt): bool
Introduced in version 9.5.0.73

Parses the date/time value at jsonPath into dt. If bLocal is true, the destination receives local date/time fields; otherwise it receives UTC/GMT fields. Recognized inputs include ISO 8601 timestamps, RFC 822-style date/time strings, and Unix timestamp integers.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
Emit
public function Emit(): ?string
Introduced in version 9.5.0.56

Serializes the JSON document rooted at this object and returns the JSON text. Formatting is controlled by EmitCompact and, for pretty output, EmitCrLf.

Object member order: Chilkat emits members in its maintained order, but JSON object ordering is not semantically significant under RFC 8259.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
EmitBd
public function EmitBd(BinData $bd): bool
Introduced in version 9.5.0.77

Serializes this JSON and appends the resulting bytes to bd.

Append behavior: Existing data in the destination BinData is preserved.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
EmitSb
public function EmitSb(StringBuilder $sb): bool
Introduced in version 9.5.0.62

Serializes this JSON and appends the resulting text to sb. Formatting follows EmitCompact and EmitCrLf.

Append behavior: Existing text in the destination StringBuilder is preserved; the emitted JSON is added after it.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
EmitWithSubs
public function EmitWithSubs(Hashtable $subs, bool $omitEmpty): ?string
Introduced in version 9.5.0.67

Serializes the JSON after substituting variables from subs into template strings. A placeholder such as {$name} is replaced by the corresponding hashtable value. Prefixing the variable name with i., as in {$i.count}, emits the substituted value as a JSON integer instead of a quoted string.

If omitEmpty is true, members whose substituted result is an empty string or empty array are omitted from the emitted JSON.

Template reuse: This method does not require rebuilding the JSON template. It is commonly paired with Predefine and LoadPredefined when the same JSON shape is emitted repeatedly with different values.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
FindObjectWithMember
public function FindObjectWithMember(string $name): ?JsonObject
Introduced in version 9.5.0.67

Recursively searches this JSON subtree for the first JSON object containing a direct member named name. Returns that object, or null if no matching object is found.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is. The returned object is new and independent of this one, and inherits its RaiseError.

top
FindObjectWithMember2
public function FindObjectWithMember2(string $name, JsonObject $jsonObj): bool
Introduced in version 11.0.0

Recursively searches this JSON subtree for the first object containing a direct member named name. On success, jsonObj is updated to reference the matching object and the method returns true.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
FindRecord
public function FindRecord(string $arrayPath, string $relPath, string $value, bool $caseSensitive): ?JsonObject
Introduced in version 9.5.0.63

Searches the JSON array at arrayPath for the first object whose value at relative path relPath equals or wildcard-matches value. The caseSensitive argument controls string comparison. Returns the matching record object.

Wildcard matching: The search value may contain * to match zero or more characters. relPath is evaluated relative to each record object in the array.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
FindRecord2
public function FindRecord2(string $arrayPath, string $relPath, string $value, bool $caseSensitive, JsonObject $jsonObj): bool
Introduced in version 11.0.0

Searches the JSON array at arrayPath using the same matching rules as FindRecord. On success, jsonObj is updated to reference the first matching record and the method returns true.

Reference semantics: The destination references the record in the original JSON document; changes made through jsonObj modify that record.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
FindRecordString
public function FindRecordString(string $arrayPath, string $relPath, string $value, bool $caseSensitive, string $retRelPath): ?string
Introduced in version 9.5.0.63

Searches the JSON array at arrayPath for the first record whose relPath value equals or wildcard-matches value, then returns the value at retRelPath from that same record as a string.

Typical use: This is useful for lookups such as “find the record where Name is Advertising and return its Id.” The * wildcard may be used in value.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is.

More Information and Examples
top
FirebaseApplyEvent
public function FirebaseApplyEvent(string $name, string $data): bool
Introduced in version 9.5.0.58

Applies a Firebase Realtime Database event to this JSON object. name should be put or patch, and data should contain event JSON such as {"path":"/","data":{"a":1,"b":2}}.

Purpose: This method is useful when maintaining a local JSON representation from Firebase server-sent events: put replaces the value at a path, while patch updates individual child keys.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
FirebasePatch
public function FirebasePatch(string $jsonPath, string $jsonData): bool
Introduced in version 9.5.0.58

Applies Firebase-style patch semantics at jsonPath. jsonData must contain a JSON object; each key in that object updates or adds the corresponding key at the target path.

Relative path: jsonPath is relative to this JsonObject.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
FirebasePut
public function FirebasePut(string $jsonPath, string $value): bool
Introduced in version 9.5.0.58

Applies Firebase-style put semantics at jsonPath, replacing or inserting the value at that path. value is JSON text and may represent an object, array, number, boolean, null, or a quoted JSON string.

Quoted strings: To store a string through this method, value must contain a valid JSON string literal, including its surrounding double quotes. Use UpdateString when you already have an ordinary application string.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
GetDocRoot
public function GetDocRoot(): ?JsonObject
Introduced in version 9.5.0.56

Returns a JsonObject reference to the root object of the JSON document containing this object. This can be called from any nested object reference.

Shared document lifetime: Nested JsonObject references share the same underlying JSON document. The document remains available while at least one such reference is retained by the application.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
GetDocRoot2
public function GetDocRoot2(JsonObject $docRoot): bool
Introduced in version 11.0.0

Updates docRoot to reference the root object of the JSON document containing the caller and returns true on success.

Reference semantics: The destination is another reference into the same underlying document; it is not a copy.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
HasMember
public function HasMember(string $jsonPath): bool
Introduced in version 9.5.0.58

Returns true if a value exists at jsonPath; otherwise returns false.

Missing vs. null: A member whose JSON value is null still exists. Use IsNullOf to test specifically for JSON null.

Never throws: false is an answer, not a failure.

top
IndexOf
public function IndexOf(string $name): int
Introduced in version 9.5.0.56

Returns the zero-based position of the direct member named name, or -1 if that member name is not found.

Not a path: name is searched only among the direct members of this object.
More Information and Examples
top
IntAt
public function IntAt(int $index): int
Introduced in version 9.5.0.56

Returns the integer value of the member at zero-based position index.

Indexing: Member indexes are based on the order maintained by this JsonObject instance. JSON objects are semantically unordered, so application protocols should normally identify values by member name rather than by position.
More Information and Examples
top
IntOf
public function IntOf(string $jsonPath): int
Introduced in version 9.5.0.56

Returns the integer value at jsonPath. The path is evaluated relative to this JsonObject, after applying PathPrefix if one is set.

Large numbers: Use StringOf or the exact numeric-text APIs when a JSON integer may exceed the range of the language binding's integer type.
top
IsNullAt
public function IsNullAt(int $index): bool
Introduced in version 9.5.0.56

Returns true if the member at zero-based position index has the JSON value null; otherwise returns false.

Never throws: false is an answer, not a failure.

More Information and Examples
top
IsNullOf
public function IsNullOf(string $jsonPath): bool
Introduced in version 9.5.0.56

Returns true if the value at jsonPath is the JSON literal null; otherwise returns false.

Null is a value: JSON null is different from a missing member and from an empty string. Use HasMember when existence must be tested separately.

Never throws: false is an answer, not a failure.

More Information and Examples
top
JsonTypeOf
public function JsonTypeOf(string $jsonPath): int
Introduced in version 9.5.0.68

Returns an integer identifying the JSON type of the value at jsonPath. Returns -1 if no member exists at that path.

1string
2number
3object
4array
5boolean
6null
top
Load
public function Load(string $json): bool
Introduced in version 9.5.0.56

Parses the JSON text in json and loads the parsed data into this object for DOM-style access and modification.

JSON data model: JSON values are strings, numbers, booleans, null, objects, or arrays. Object member names should be unique for interoperable JSON; RFC 8259 notes that consumers differ in how duplicate names are handled.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
LoadBd
public function LoadBd(BinData $bd): bool
Introduced in version 9.5.0.77

Parses JSON from the bytes contained in bd and loads it into this object.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
LoadFile
public function LoadFile(string $path): bool
Introduced in version 9.5.0.56

Reads JSON text from the file at path, parses it, and loads the result into this object.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
LoadPredefined
public function LoadPredefined(string $name): bool
Introduced in version 9.5.0.67

Loads this object from the predefined JSON document identified by name. Predefined documents are created with Predefine.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
LoadSb
public function LoadSb(StringBuilder $sb): bool
Introduced in version 9.5.0.62

Parses JSON from the current contents of sb and loads it into this object.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
MakeCopy
public function MakeCopy(JsonObject $json): bool
Introduced in version 11.0.0

Copies this JSON object into json. The destination receives an independent JSON copy rather than another reference to the same underlying object.

Copy vs. reference: Use CopyRef when two JsonObject instances should refer to the same JSON object instead of duplicating its data.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
MoveMember
public function MoveMember(int $fromIndex, int $toIndex): bool
Introduced in version 9.5.0.80

Moves the direct member at zero-based position fromIndex to toIndex. Use toIndex = 0 to move it first or -1 to move it last.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
NameAt
public function NameAt(int $index): ?string
Introduced in version 9.5.0.56

Returns the name of the member at zero-based position index. Use this with Size and TypeAt to iterate through an object's direct members.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
NewArrayOf
public function NewArrayOf(string $path, string $jArr): bool
Introduced in version 11.4.0

Creates a JSON array at path and loads that array from the JSON text in jArr. The supplied text should represent a JSON array.

Difference from UpdateNewArray: UpdateNewArray creates an empty array. NewArrayOf creates the array and immediately populates it from JSON text.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
NewObjectOf
public function NewObjectOf(string $path, string $jObj): bool
Introduced in version 11.4.0

Creates a JSON object at path and loads that object from the JSON text in jObj. The supplied text should represent a JSON object.

Difference from UpdateNewObject: UpdateNewObject creates an empty object. NewObjectOf creates the object and immediately populates it from JSON text.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
ObjectAt
public function ObjectAt(int $index): ?JsonObject
Introduced in version 9.5.0.56

Returns the JSON object stored in the member at zero-based position index. The returned JsonObject references the existing child object in the same document; changes made through it modify that document.

Type requirement: The member at index must be a JSON object. Use TypeAt when the type is not already known.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
ObjectAt2
public function ObjectAt2(int $index, JsonObject $jsonObj): bool
Introduced in version 11.0.0

Updates jsonObj to reference the JSON object stored at zero-based member position index and returns true on success.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
ObjectOf
public function ObjectOf(string $jsonPath): ?JsonObject
Introduced in version 9.5.0.56

Returns the JSON object at jsonPath. The returned object is a live reference into the same JSON document, not a copy.

Relative paths: A path is evaluated relative to the current object. Use GetDocRoot when access must start from the document root.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is. The returned object is new and independent of this one, and inherits its RaiseError.

More Information and Examples
top
ObjectOf2
public function ObjectOf2(string $jsonPath, JsonObject $jsonObj): bool
Introduced in version 11.0.0

Updates jsonObj to reference the JSON object at jsonPath and returns true on success.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
Predefine
public function Predefine(string $name): bool
Introduced in version 9.5.0.67

Stores this JSON document in Chilkat's internal global collection of predefined JSON documents under name. If the name already exists, the predefined value is replaced.

Template use: After predefining a document, another JsonObject can load it by name with LoadPredefined.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
Rename
public function Rename(string $oldName, string $newName): bool
Introduced in version 9.5.0.56

Renames the direct member oldName to newName. The member value and its position are otherwise unchanged.

JSON interoperability: JSON object member names should be unique. Avoid renaming a member to a name already used by another member unless duplicate names are intentionally required.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
RenameAt
public function RenameAt(int $index, string $name): bool
Introduced in version 9.5.0.56

Renames the member at zero-based position index to name. The member value is not changed.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetBoolAt
public function SetBoolAt(int $index, bool $value): bool
Introduced in version 9.5.0.56

Sets the member at zero-based position index to a JSON boolean value.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetBoolOf
public function SetBoolOf(string $jsonPath, bool $value): bool
Introduced in version 9.5.0.56

Sets the value at jsonPath to a JSON boolean value.

Set vs. Update: Use UpdateBool when missing objects or array positions along the path should be created automatically.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetIntAt
public function SetIntAt(int $index, int $value): bool
Introduced in version 9.5.0.56

Sets the member at zero-based position index to a JSON number value. The integer is emitted as a JSON number.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetIntOf
public function SetIntOf(string $jsonPath, int $value): bool
Introduced in version 9.5.0.56

Sets the value at jsonPath to an integer JSON number.

Set vs. Update: Use UpdateInt when missing objects or array positions along the path should be created automatically.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetNullAt
public function SetNullAt(int $index): bool
Introduced in version 9.5.0.56

Sets the member at zero-based position index to a JSON null value.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetNullOf
public function SetNullOf(string $jsonPath): bool
Introduced in version 9.5.0.56

Sets the value at jsonPath to a JSON null value.

Set vs. Update: Use UpdateNull when missing objects or array positions along the path should be created automatically.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetNumberAt
public function SetNumberAt(int $index, string $value): bool
Introduced in version 9.5.0.56

Sets the member at zero-based position index to a JSON number value. The value argument is the exact textual representation of the JSON number.

JSON number syntax: The text may contain an integer, fraction, or exponent. It must be valid JSON number syntax; leading zeros (except for zero itself), NaN, and infinity are not valid JSON numbers.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetNumberOf
public function SetNumberOf(string $jsonPath, string $value): bool
Introduced in version 9.5.0.56

Sets the value at jsonPath to a JSON number value. The value argument supplies the exact textual form of the JSON number.

Set vs. Update: Use UpdateNumber when missing objects or array positions along the path should be created automatically.
Precision: Using numeric text avoids an intermediate conversion through a floating-point type and can therefore preserve large integers or application-specific decimal formatting.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetStringAt
public function SetStringAt(int $index, string $value): bool
Introduced in version 9.5.0.56

Sets the member at zero-based position index to a JSON string value. The string is escaped as required when JSON is emitted.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SetStringOf
public function SetStringOf(string $jsonPath, string $value): bool
Introduced in version 9.5.0.56

Sets the value at jsonPath to a JSON string value. The string is escaped as required when JSON is emitted.

Set vs. Update: Use UpdateString when missing objects or array positions along the path should be created automatically.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
SizeOfArray
public function SizeOfArray(string $jsonPath): int
Introduced in version 9.5.0.56

Returns the number of elements in the JSON array at jsonPath. Returns -1 if the path does not resolve to an existing JSON array.

More Information and Examples
top
Sort
public function Sort(bool $ascending, bool $caseSensitive): void
Introduced in version 9.5.0.100

Sorts this object's direct members by member name. ascending selects ascending or descending order, and caseSensitive controls how names are compared.

JSON semantics: Member ordering is not significant to JSON consumers, but sorting can make emitted JSON deterministic and easier to compare or review.
More Information and Examples
top
StringAt
public function StringAt(int $index): ?string
Introduced in version 9.5.0.56

Returns the string value of the member at zero-based position index.

Indexing: Member indexes are based on the order maintained by this JsonObject instance. JSON objects are semantically unordered, so application protocols should normally identify values by member name rather than by position.
Non-string values: StringOf can also provide textual representations of scalar JSON values such as numbers, booleans, and null; use the type-specific methods when the JSON type itself matters.

On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns null). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
StringOf
public function StringOf(string $jsonPath): ?string
Introduced in version 9.5.0.56

Returns the value at jsonPath as text. For a JSON string, the string value is returned. Scalar non-string values such as numbers, booleans, and null are returned using their JSON textual representation.

Type-sensitive code: Use JsonTypeOf, IntOf, BoolOf, or IsNullOf when the distinction between JSON types is important.

Returns null if not found: this is not an error, and it does not throw whatever RaiseError is.

top
StringOfEquals
public function StringOfEquals(string $jsonPath, string $value, bool $caseSensitive): bool
Introduced in version 9.5.0.96

Returns true if the textual value at jsonPath equals value according to the caseSensitive setting; otherwise returns false.

Never throws: false is an answer, not a failure.

top
StringOfSb
public function StringOfSb(string $jsonPath, StringBuilder $sb): bool
Introduced in version 9.5.0.68

Retrieves the value at jsonPath as text and appends it to sb.

Append behavior: Existing contents of the destination StringBuilder are preserved.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
Swap
public function Swap(int $index1, int $index2): bool
Introduced in version 9.5.0.76

Swaps the positions of the direct members at zero-based indexes index1 and index2. Member names and values are unchanged.

Ordering: JSON object order is not semantically significant, but Chilkat preserves an order for index-based access and emission.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
TypeAt
public function TypeAt(int $index): int
Introduced in version 9.5.0.58

Returns an integer identifying the JSON type of the member at zero-based position index. Returns -1 if no member exists at that index.

1string
2number
3object
4array
5boolean
6null
top
UIntOf
public function UIntOf(string $jsonPath): int
Introduced in version 9.5.0.96

Returns the unsigned integer value at jsonPath.

top
UpdateBd
public function UpdateBd(string $jsonPath, string $encoding, BinData $bd): bool
Introduced in version 9.5.0.68

Updates the value at jsonPath to a JSON string value, or creates the member and any missing path components as needed. The bytes in bd are first encoded according to encoding (for example, base64 or hex) and the encoded text is stored as the JSON string value.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.
Binary data in JSON: JSON has no native byte-array type. Binary content must therefore be represented using a textual encoding agreed upon by the producer and consumer.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
UpdateBool
public function UpdateBool(string $jsonPath, bool $value): bool
Introduced in version 9.5.0.63

Updates the value at jsonPath to a JSON boolean value, or creates the member and any missing path components as needed.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
UpdateInt
public function UpdateInt(string $jsonPath, int $value): bool
Introduced in version 9.5.0.63

Updates the value at jsonPath to a JSON number value, or creates the member and any missing path components as needed. The integer value is stored as a JSON number.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
UpdateNewArray
public function UpdateNewArray(string $jsonPath): bool
Introduced in version 9.5.0.75

Creates or replaces the value at jsonPath with a new empty JSON array. Missing path components are created automatically as needed.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
UpdateNewObject
public function UpdateNewObject(string $jsonPath): bool
Introduced in version 9.5.0.75

Creates or replaces the value at jsonPath with a new empty JSON object. Missing path components are created automatically as needed.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
UpdateNull
public function UpdateNull(string $jsonPath): bool
Introduced in version 9.5.0.65

Updates the value at jsonPath to a JSON null value, or creates the member and any missing path components as needed.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
UpdateNumber
public function UpdateNumber(string $jsonPath, string $numericStr): bool
Introduced in version 9.5.0.65

Updates the value at jsonPath to a JSON number value, or creates the member and any missing path components as needed. The numericStr argument is stored as the exact textual representation of the JSON number.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.
When to use: Use UpdateNumber instead of UpdateInt for decimal/exponent forms, very large integers, or when preserving exact numeric text is important.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
UpdateSb
public function UpdateSb(string $jsonPath, StringBuilder $sb): bool
Introduced in version 9.5.0.68

Updates the value at jsonPath to a JSON string value, or creates the member and any missing path components as needed. The new string value is taken from the contents of sb.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
UpdateString
public function UpdateString(string $jsonPath, string $value): bool
Introduced in version 9.5.0.63

Updates the value at jsonPath to a JSON string value, or creates the member and any missing path components as needed. The supplied string is JSON-escaped as needed.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.
Version note: Chilkat versions prior to 9.5.0.68 did not correctly escape all characters for this method. Version 9.5.0.68 and later correct that behavior.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

More Information and Examples
top
UpdateUInt
public function UpdateUInt(string $jsonPath, int $value): bool
Introduced in version 9.5.0.96

Updates the value at jsonPath to a JSON number value, or creates the member and any missing path components as needed. The unsigned integer is stored as a JSON number.

Path-based operation: jsonPath is interpreted using DelimiterChar, PathPrefix, and the I/J/K index substitutions.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top
WriteFile
public function WriteFile(string $path): bool
Introduced in version 9.5.0.76

Serializes this JSON and writes it to the file at path. Output formatting follows EmitCompact and EmitCrLf.

Returns true on success. On failure it throws Chilkat2\Exception (or, with RaiseError set to false, returns false). $e->getMessage() (or the object's LastErrorText) explains why, and the object remains usable.

top