This page has been translated automatically.
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine.Json Class

This class is used to parse and create JSON formatted strings.

Each Json node has type, name and value. Also, it can have child Json nodes and a parent node.

Json node can have one of the following types:

  • null
  • bool
  • number
  • string
  • array
  • object

The Json node has a hierarchy structure. The following code creates a Json node and adds child nodes with different types of values:

Source code (C#)
Json json = new Json();
json.addChild("child_0",0);    // int
json.addChild("child_1",1.1);   // float
json.addChild("child_2","two");   // string

The result is:

Output
{
  "child_0": 0,
  "child_1": 1.1,
  "child_2": "two" 
}

Child nodes have names "child_0", "child_1", "child_2" and values: integer 0, double 1.1 and string "two". The name has always string type.

Json Class

Members


static Json()

Default constructor that creates an empty instance.

static Json(string name)

Constructor that creates a JSON node with a given name.

Arguments

  • string name - Name of the Json node.

void setArray()

Sets array type to the current Json node.

int isArray()

Returns a value indicating if the Json node has an array type.

Return value

1 if the Json has an array type; otherwise, 0.

void setBool(int arg1)

Sets a boolean value and type to the current Json node.

Arguments

  • int arg1 - Integer value.

int getBool()

Reads a boolean value of the current Json node.

Return value

1 if the Json node has a bool type; otherwise, 0.

int isBool()

Returns a value indicating if the Json node has a bool type.

Return value

1 if the Json has a bool type; otherwise, 0.

Json getChild(int num)

Returns the child node of the current Json node.

Arguments

  • int num - Argument of one of the following types:
    • string name - Name of the Json node.
    • int number - Number of the child of the Json node.

Return value

Child Json node.

Json getChild(string name)

Returns the child node of the current Json node.

Arguments

  • string name - Argument of one of the following types:
    • string name - Name of the Json node.
    • int number - Number of the child of the Json node.

Return value

Child Json node.

int isChild(string name)

Checks if a child node with a given name exists.

Arguments

  • string name - Name of the child node.

Return value

1 if a child with the provided name exists; otherwise, 0.

string getFormattedSubTree(string name = 0)

Returns a subtree of a Json node as the formatted string.

Arguments

  • string name - The name of a child node. If there is a name, the function returns formatted subtree for this child Json node.

Return value

Formatted subtree.

void setName(string name)

Sets the given name to the Json node.

Arguments

  • string name - Name of the Json node.

string getName()

Returns the name of the current Json node.

Return value

The name of the Json node.

void setNull()

Sets null type to the current Json node.

int isNull()

Returns a value indicating if the Json node has a null type.

Return value

1 if the Json has a null type; otherwise, 0.

void setNumber(double arg1)

Sets a number value and type to the current Json node.

Arguments

  • double arg1 - Double value.

void setNumber(int arg1)

Sets a number value and type to the current Json node.

Arguments

  • int arg1 - Integer value.

double getNumber()

Returns the number value of the current Json node.

Return value

Number value of the current Json node.

int isNumber()

Returns a value indicating if the Json node has a number type.

Return value

1 if the Json has a number type; otherwise, 0.

int getNumChildren()

Returns the number of child nodes of the current Json node.

Return value

Number of child nodes.

void setObject()

Sets object type to the current Json node.

int isObject()

Returns a value indicating if the Json node has an object type.

Return value

1 if the Json has an object type; otherwise, 0.

int isOwner()

Json getParent()

Returns the parent node of the current Json node.

Return value

Parent Json node.

void setString(string arg1)

Sets a string value and type to the current Json node. The function automatically casts number values to string type.

Arguments

  • string arg1 - String value.

string getString()

Returns the value of the current Json node as string.

Return value

Value of the current Json node

int isString()

Returns a value indicating if the Json node has a string type.

Return value

1 if the Json has a string type; otherwise, 0.

string getSubTree(string name = 0)

Returns a subtree of a Json node as the non-formatted string.

Arguments

  • string name - The name of a child node. If there is a name, the function returns formatted subtree for this child Json node.

Return value

Non-formatted subtree.

Json addChild(string name, double value)

Adds a new name-value pair as a child node to the current Json node.

Arguments

  • string name - Node name.
  • double value - Argument of one of the following types:
    • int value - integer value.
    • float value - float value.
    • string value - string value.

Return value

Child Json node.

Json addChild(string name)

Adds a new name-value pair as a child node to the current Json node.

Arguments

  • string name - Node name.

Return value

Child Json node.

Json addChild(string name, string value)

Adds a new name-value pair as a child node to the current Json node.

Arguments

  • string name - Node name.
  • string value - Argument of one of the following types:
    • int value - integer value.
    • float value - float value.
    • string value - string value.

Return value

Child Json node.

Json addChild(Json json)

Adds a new name-value pair as a child node to the current Json node.

Arguments

  • Json json - Node name.

Return value

Child Json node.

Json addChild(string name, int value)

Adds a new name-value pair as a child node to the current Json node.

Arguments

  • string name - Node name.
  • int value - Argument of one of the following types:
    • int value - integer value.
    • float value - float value.
    • string value - string value.

Return value

Child Json node.

void clear()

Clears all data of the current Json node including type, value, name and all children. If the current Json node has a parent, it also removed from the parent Json node.

void clearChildren()

Clears all children of the current Json node.

void copy(Json source)

Copies type, name and value from the source Json node to the current Json node and adds the source Json child nodes as child nodes to the current Json node.

Arguments

  • Json source - Source Json node.

Json find(string name)

Finds Json node by its name in current Json node tree.

Arguments

  • string name - Name of the Json node.

Return value

Founded Json node.

void grab()

int load(string path)

Loads the data to the current Json node from the file with a given path.

Arguments

  • string path - Path of the file.

Return value

1 if the Json node was loaded successfully; otherwise, 0.

int parse(string source)

Parses a given string into the Json node.

Usage Example

Source code (C#)
Json json = new Json();
json.addChild("child_0", 1);

Json json_2 = new Json();
json_2.parse(json.getSubTree());

Now the json_2 node contains:

Source code
{
  "child_0": 1
}

Arguments

  • string source - String to parse.

Return value

1 if the string was parsed successfully; otherwise, 0.

void release()

Sets the owner flag to 0 for the world pointer. The world should be handled by the class after this function is called.

Json removeChild(Json json)

Removes the child Json node.

Arguments

  • Json json - Argument of one of the following types:
    • Json json - Json node.
    • string name - Name of the Json node.

Return value

Removed child Json node.

Json removeChild(string name)

Removes the child Json node.

Arguments

  • string name - Argument of one of the following types:
    • Json json - Json node.
    • string name - Name of the Json node.

Return value

Removed child Json node.

int save(string path)

Saves the Json node into a file with a given path.

Arguments

  • string path - Path to the file.

Return value

1 if the file was saved successfully; otherwise, 0.
Last update: 2018-06-04
Build: ()