JSON plugin

Форматирование, минификация, валидация и другие полезные методы работы с JSON.

Версия: 1.2

Дата релиза: 19 августа 2022

format

Форматирование JSON разрывами строк и отступами

format(string json)
json Текст в формате JSON

Описание возврата: Возвращает отформатированную строку JSON с отступами и разрывами строк

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('format');

$xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}';

// 1
echo "1. Input JSON:\n";
echo $xjson."\n";

// 2
echo "\n\n2. Formatted JSON:\n";
echo '<pre>'.$json->format($xjson).'</pre>';

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('format')

xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}'

// 1
echo("1. Input JSON:\n")
echo(`${xjson}\n`)

// 2
echo("\n\n2. Formatted JSON:\n")
echo('<pre>' + json.format(xjson) + '</pre>')

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('format')

xjson = {"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}

# 1
print("1. Input JSON:")
print(xjson)

# 2
print("\n\n2. Formatted JSON:")
print('<pre>' + json.format(xjson) + '</pre>')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

format_from_file

Форматирование JSON разрывами строк и отступами с загрузкой из файла

format_from_file(string path)
path Ссылка на файл с JSON

Описание возврата: Возвращает отформатированную строку JSON с отступами и разрывами строк

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('format_from_file');

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. Formatted JSON:\n";
echo '<pre>'.$json->format_from_file($filePath).'</pre>';

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('format_from_file')

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. Formatted JSON:\n")
echo('<pre>' + json.format_from_file(filePath) + '</pre>')

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('format_from_file')

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. Formatted JSON:")
print('<pre>' + json.format_from_file(filePath) + '</pre>')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

minify

Минимизация строки JSON

minify(string json)
json Текст в формате JSON

Описание возврата: Возвращает сжатую строку JSON без отступов и разрывов строк

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('minify');

$xjson = '{
    "Stores": [
    "Lambton Quay",
    "Willis Street"
  ],
  "Manufacturers": [
    {
      "Name": "Acme Co",
      "Products": [
        {
          "Name": "Anvil",
          "Price": 50
        }
      ]
    },
    {
      "Name": "Contoso",
      "Products": [
        {
          "Name": "Elbow Grease",
          "Price": 99.95
        },
        {
          "Name": "Headlight Fluid",
          "Price": 4
        }
      ]
    }
  ]
}';

// 1
echo "1. Input JSON:\n";
echo $xjson."\n";

// 2
echo "\n2. Minified JSON:\n";
echo "<pre>".$json->minify($xjson)."</pre>";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('minify')

xjson = `{
    "Stores": [
    "Lambton Quay",
    "Willis Street"
  ],
  "Manufacturers": [
    {
      "Name": "Acme Co",
      "Products": [
        {
          "Name": "Anvil",
          "Price": 50
        }
      ]
    },
    {
      "Name": "Contoso",
      "Products": [
        {
          "Name": "Elbow Grease",
          "Price": 99.95
        },
        {
          "Name": "Headlight Fluid",
          "Price": 4
        }
      ]
    }
  ]
}`

// 1
echo("1. Input JSON:\n")
echo(`${xjson}\n`)

// 2
echo("\n2. Minified JSON:\n")
echo("<pre>" + json.minify(xjson) + "</pre>")

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('minify')

xjson = {
    "Stores": [
    "Lambton Quay",
    "Willis Street"
  ],
  "Manufacturers": [
    {
      "Name": "Acme Co",
      "Products": [
        {
          "Name": "Anvil",
          "Price": 50
        }
      ]
    },
    {
      "Name": "Contoso",
      "Products": [
        {
          "Name": "Elbow Grease",
          "Price": 99.95
        },
        {
          "Name": "Headlight Fluid",
          "Price": 4
        }
      ]
    }
  ]
}

# 1
print("1. Input JSON:")
print(xjson)

# 2
print("\n2. Minified JSON:")
print("<pre>" + json.minify(xjson) + "</pre>")

# конец теста
print('\n<hr><br>')

# выход
app.quit()

minify_from_file

Минимизация строки JSON с загрузкой из файла

minify_from_file(string path)
path Ссылка на файл с JSON

Описание возврата: Возвращает сжатую строку JSON без отступов и разрывов строк

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('minify_from_file');

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. Minified JSON:\n";
echo '<pre>'.$json->minify_from_file($filePath).'</pre>';

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('minify_from_file')

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. Minified JSON:\n")
echo('<pre>' + json.minify_from_file(filePath) + '</pre>')

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('minify_from_file')

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. Minified JSON:")
print('<pre>' + json.minify_from_file(filePath) + '</pre>')

# конец теста
print('\n<hr><br>')

# выход
app.quit()

validate_json

Валидация JSON с использованием схемы

validate_json(string json, string json_schema)
json Текст в формате JSON
json_schema Строка со схемой валидации объекта JSON

Описание возврата: Возвращает логическое значение true, если структура JSON соответствует указанной схеме

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('validate_json');

$schema = '{
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}';

$xjson = '{
  "name": "James",
  "hobbies": [".NET", "Blogging", "Reading", "Xbox", "LOLCATS"]
}';

// 1
echo "1. Validate JSON:\n";
$isValid = $json->validate_json($xjson, $schema);
$isValid = $isValid ? 'true' : 'false';
echo $isValid."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('validate_json')

schema = `{
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}`

xjson = `{
  "name": "James",
  "hobbies": [".NET", "Blogging", "Reading", "Xbox", "LOLCATS"]
}`

// 1
echo("1. Validate JSON:\n")
isValid = json.validate_json(xjson, schema)
echo(`${isValid}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('validate_json')

schema = {
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}

xjson = {
  "name": "James",
  "hobbies": [".NET", "Blogging", "Reading", "Xbox", "LOLCATS"]
}

# 1
print("1. Validate JSON:")
isValid = json.validate_json(xjson, schema)
print(isValid)

# конец теста
print('\n<hr><br>')

# выход
app.quit()

validate_json_from_file

Валидация JSON с использованием схемы с загрузкой из файла

validate_json_from_file(string path, string json_schema)
path Ссылка на файл с JSON
json_schema Строка со схемой валидации объекта JSON

Описание возврата: Возвращает логическое значение true, если структура JSON соответствует указанной схеме

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('validate_json_from_file');

$schema = '{
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}';

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. Validate JSON:\n";
$isValid = $json->validate_json_from_file($filePath, $schema);
$isValid = $isValid ? 'true' : 'false';
echo $isValid."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('validate_json_from_file')

schema = `{
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}`

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. Validate JSON:\n")
isValid = json.validate_json_from_file(filePath, schema)
echo(`${isValid}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('validate_json_from_file')

schema = {
  "description": "A person",
  "type": "object",
  "properties":
    {
      "name": {"type":"string"},
      "hobbies": {
        "type": "array",
        "items": {"type":"string"}
      }
    }
}

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. Validate JSON:")
isValid = json.validate_json_from_file(filePath, schema)
print(isValid)

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_json_from_xml

Получить JSON из XML

get_json_from_xml(string xml)
xml Текст в формате XML

Описание возврата: Возвращает строку JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_json_from_xml');

$xml = "<test><app>My App</app></test>";

// 1
echo "1. JSON from XML:\n";
echo "<pre>".$json->get_json_from_xml($xml)."</pre>";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_json_from_xml')

xml = "<test><app>My App</app></test>"

// 1
echo("1. JSON from XML:\n")
echo("<pre>" + json.get_json_from_xml(xml) + "</pre>")

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_json_from_xml')

xml = "<test><app>My App</app></test>"

# 1
print("1. JSON from XML:")
print("<pre>" + json.get_json_from_xml(xml) + "</pre>")

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_json_from_xml_file

Получить JSON из XML-файла

get_json_from_xml_file(string path_xml_file)
path_xml_file Ссылка на файл с XML

Описание возврата: Возвращает строку JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_json_from_xml_file');

$path = $test->get_test_file_full_path('test.xml');

// 1
echo "1. JSON from XML:\n";
echo "<pre>".$json->get_json_from_xml_file($path)."</pre>";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_json_from_xml_file')

path = test.get_test_file_full_path('test.xml')

// 1
echo("1. JSON from XML:\n")
echo("<pre>" + json.get_json_from_xml_file(path) + "</pre>")

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_json_from_xml_file')

path = test.get_test_file_full_path('test.xml')

# 1
print("1. JSON from XML:")
print("<pre>" + json.get_json_from_xml_file(path) + "</pre>")

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_xml_from_json

Получить XML из JSON

get_xml_from_json(string json)
json Текст в формате JSON

Описание возврата: Возвращает строку в формате XML

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_xml_from_json');

$xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}';

// 1
echo "1. XML:\n";
echo "<pre>".htmlspecialchars($json->get_xml_from_json($xjson), ENT_XML1 | ENT_COMPAT, 'UTF-8')."</pre>";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_xml_from_json')

xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}'

// 1
echo("1. XML:\n")
echo("<pre>" + test.escapeXml(json.get_xml_from_json(xjson)) + "</pre>")

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_xml_from_json')

xjson = {"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}

# 1
print("1. XML:")
print("<pre>" + test.escapeXml(json.get_xml_from_json(xjson)) + "</pre>")

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_xml_from_json_file

Получить XML из JSON-файла

get_xml_from_json_file(string path)
path Ссылка на файл с JSON

Описание возврата: Возвращает строку в формате XML

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_xml_from_json_file');

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. XML:\n";
echo "<pre>".htmlspecialchars($json->get_xml_from_json_file($filePath), ENT_XML1 | ENT_COMPAT, 'UTF-8')."</pre>";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_xml_from_json_file')

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. XML:\n")
echo("<pre>" + test.escapeXml(json.get_xml_from_json_file(filePath)) + "</pre>")

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_xml_from_json_file')

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. XML:")
print("<pre>" + test.escapeXml(json.get_xml_from_json_file(filePath)) + "</pre>")

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_by_path

Получить элемент JSON используя синтаксис JSON Path

get_by_path(string json, string json_path)
json Текст в формате JSON
json_path Строка поиска в объекте JSON с использованием JSONPath expression

Описание возврата: Возвращает значение объекта в структуре JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_by_path');

$xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}';

// 1
echo "1. Get by PATH JSON:\n";
echo $json->get_by_path($xjson, 'Manufacturers[0].Name')."\n";
echo $json->get_by_path($xjson, 'Manufacturers[0].Products[0].Price')."\n";
echo $json->get_by_path($xjson, 'Manufacturers[1].Products[0].Name')."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_by_path')

xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}'

// 1
echo("1. Get by PATH JSON:\n")
echo(`${json.get_by_path(xjson, 'Manufacturers[0].Name')}\n`)
echo(`${json.get_by_path(xjson, 'Manufacturers[0].Products[0].Price')}\n`)
echo(`${json.get_by_path(xjson, 'Manufacturers[1].Products[0].Name')}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_by_path')

xjson = {"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}

# 1
print("1. Get by PATH JSON:")
print(json.get_by_path(xjson, 'Manufacturers[0].Name'))
print(json.get_by_path(xjson, 'Manufacturers[0].Products[0].Price'))
print(json.get_by_path(xjson, 'Manufacturers[1].Products[0].Name'))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_by_path_from_file

Получить элемент JSON используя синтаксис JSON Path с загрузкой JSON из файла

get_by_path_from_file(string path, string json_path)
path Ссылка на файл с JSON
json_path Строка поиска в объекте JSON с использованием JSONPath expression

Описание возврата: Возвращает значение объекта в структуре JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_by_path_from_file');

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. Get by PATH JSON:\n";
echo $json->get_by_path_from_file($filePath, 'Manufacturers[0].Name')."\n";
echo $json->get_by_path_from_file($filePath, 'Manufacturers[0].Products[0].Price')."\n";
echo $json->get_by_path_from_file($filePath, 'Manufacturers[1].Products[0].Name')."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_by_path_from_file')

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. Get by PATH JSON:\n")
echo(`${json.get_by_path_from_file(filePath, 'Manufacturers[0].Name')}\n`)
echo(`${json.get_by_path_from_file(filePath, 'Manufacturers[0].Products[0].Price')}\n`)
echo(`${json.get_by_path_from_file(filePath, 'Manufacturers[1].Products[0].Name')}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_by_path_from_file')

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. Get by PATH JSON:")
print(json.get_by_path_from_file(filePath, 'Manufacturers[0].Name'))
print(json.get_by_path_from_file(filePath, 'Manufacturers[0].Products[0].Price'))
print(json.get_by_path_from_file(filePath, 'Manufacturers[1].Products[0].Name'))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

to_bson

Конвертация JSON в BSON

to_bson(string json)
json Текст в формате JSON

Описание возврата: Возвращает base-64 строку в формате Binary JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('to_bson');

$xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}';

// 1
echo "1. BSON:\n";
echo $json->to_bson($xjson)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('to_bson')

xjson = '{"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}'

// 1
echo("1. BSON:\n")
echo(`${json.to_bson(xjson)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('to_bson')

xjson = {"Stores":["Lambton Quay","Willis Street"],"Manufacturers":[{"Name":"Acme Co","Products":[{"Name":"Anvil","Price":50}]},{"Name":"Contoso","Products":[{"Name":"Elbow Grease","Price":99.95},{"Name":"Headlight Fluid","Price":4}]}]}

# 1
print("1. BSON:")
print(json.to_bson(xjson))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

to_bson_from_file

Конвертация JSON в BSON из файла

to_bson_from_file(string path)
path Ссылка на файл с JSON

Описание возврата: Возвращает base-64 строку в формате Binary JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('to_bson_from_file');

$filePath = $test->get_test_file_full_path('test_file.json');

// 1
echo "1. BSON:\n";
echo $json->to_bson_from_file($filePath)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('to_bson_from_file')

filePath = test.get_test_file_full_path('test_file.json')

// 1
echo("1. BSON:\n")
echo(`${json.to_bson_from_file(filePath)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('to_bson_from_file')

filePath = test.get_test_file_full_path('test_file.json')

# 1
print("1. BSON:")
print(json.to_bson_from_file(filePath))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

get_json_from_bson

Получить JSON из base64 строки (BSON)

get_json_from_bson(string bson)
bson Текст в формате Binary JSON

Описание возврата: Возвращает строку JSON

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $json);

// начало теста
$test->echo_header('get_json_from_bson');

$bson = 'JwEAAARTdG9yZXMALgAAAAIwAA0AAABMYW1idG9uIFF1YXkAAjEADgAAAFdpbGxpcyBTdHJlZXQAAARNYW51ZmFjdHVyZXJzAN0AAAADMABNAAAAAk5hbWUACAAAAEFjbWUgQ28ABFByb2R1Y3RzACwAAAADMAAkAAAAAk5hbWUABgAAAEFudmlsABJQcmljZQAyAAAAAAAAAAAAAAMxAIUAAAACTmFtZQAIAAAAQ29udG9zbwAEUHJvZHVjdHMAZAAAAAMwACsAAAACTmFtZQANAAAARWxib3cgR3JlYXNlAAFQcmljZQDNzMzMzPxYQAADMQAuAAAAAk5hbWUAEAAAAEhlYWRsaWdodCBGbHVpZAASUHJpY2UABAAAAAAAAAAAAAAAAA==';

// 1
echo "1. JSON from BSON:\n";
echo $json->get_json_from_bson($bson)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, json)

// начало теста
test.echo_header('get_json_from_bson')

bson = 'JwEAAARTdG9yZXMALgAAAAIwAA0AAABMYW1idG9uIFF1YXkAAjEADgAAAFdpbGxpcyBTdHJlZXQAAARNYW51ZmFjdHVyZXJzAN0AAAADMABNAAAAAk5hbWUACAAAAEFjbWUgQ28ABFByb2R1Y3RzACwAAAADMAAkAAAAAk5hbWUABgAAAEFudmlsABJQcmljZQAyAAAAAAAAAAAAAAMxAIUAAAACTmFtZQAIAAAAQ29udG9zbwAEUHJvZHVjdHMAZAAAAAMwACsAAAACTmFtZQANAAAARWxib3cgR3JlYXNlAAFQcmljZQDNzMzMzPxYQAADMQAuAAAAAk5hbWUAEAAAAEhlYWRsaWdodCBGbHVpZAASUHJpY2UABAAAAAAAAAAAAAAAAA=='

// 1
echo("1. JSON from BSON:\n")
echo(`${json.get_json_from_bson(bson)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, json)

# начало теста
test.echo_header('get_json_from_bson')

bson = 'JwEAAARTdG9yZXMALgAAAAIwAA0AAABMYW1idG9uIFF1YXkAAjEADgAAAFdpbGxpcyBTdHJlZXQAAARNYW51ZmFjdHVyZXJzAN0AAAADMABNAAAAAk5hbWUACAAAAEFjbWUgQ28ABFByb2R1Y3RzACwAAAADMAAkAAAAAk5hbWUABgAAAEFudmlsABJQcmljZQAyAAAAAAAAAAAAAAMxAIUAAAACTmFtZQAIAAAAQ29udG9zbwAEUHJvZHVjdHMAZAAAAAMwACsAAAACTmFtZQANAAAARWxib3cgR3JlYXNlAAFQcmljZQDNzMzMzPxYQAADMQAuAAAAAk5hbWUAEAAAAEhlYWRsaWdodCBGbHVpZAASUHJpY2UABAAAAAAAAAAAAAAAAA=='

# 1
print("1. JSON from BSON:")
print(json.get_json_from_bson(bson))

# конец теста
print('\n<hr><br>')

# выход
app.quit()