# Networking (pdk.net)

### JsonObject

structure represents an immutable JSON object value (an unordered collection of zero or more name/value pairs). It also provides unmodifiable map view to the JSON object name/value mappings.

JsonObject is a superstructure for JsonArray.

Superstructures: [Object](https://processmix.gitbook.io/guide/specification/pdk.core#object) <- [Any](#any)

***

### JsonArray

structure represents an immutable JSON array (an ordered sequence of zero or more values). It also provides an unmodifiable list view of the values in the array.

Superstructures: [JsonObject](#jsonobject) <- [Object](https://processmix.gitbook.io/guide/specification/pdk.core#object) <- [Any](#any)

***

### JsonOperation

structure that contains information about change operation. You can find more information and examples of use in the [pdk.util.Json.diff](https://processmix.gitbook.io/guide/flows/functions/expression-functions/pdk.util.json#diff) function description page.

Properties:

* from :: [pdk.core.String](https://processmix.gitbook.io/guide/specification/pdk.core#string)

  It contains the initial value's position within the JSON in copy and move operations, while being NULL for all other operations.
* op :: [pdk.core.String](https://processmix.gitbook.io/guide/specification/pdk.core#string)

  Operation name. Can be: add, remove, replace, move, copy, test
* path :: [pdk.core.String](https://processmix.gitbook.io/guide/specification/pdk.core#string)

  JSON-Pointer value that references a location within the target document where the operation is performed.
* value :: [pdk.net.JsonObject](#jsonobject)

  The JSON object that underwent an operation.

Superstructures: [Object](https://processmix.gitbook.io/guide/specification/pdk.core#object) <- [Any](#any)

***
