Форматирование, минификация, валидация и другие полезные методы работы с JSON.
Версия: 1.2
Дата релиза: 19 августа 2022
Форматирование 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()
Форматирование 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()
Минимизация строки 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()
Минимизация строки 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()
Валидация 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()
Валидация 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()
Получить JSON из 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()
Получить JSON из 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()
Получить XML из 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()
Получить XML из 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()
Получить элемент JSON используя синтаксис JSON Path
Описание возврата: Возвращает значение объекта в структуре 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()
Получить элемент JSON используя синтаксис JSON 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('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()
Конвертация JSON в BSON
Описание возврата: Возвращает 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()
Конвертация JSON в BSON из файла
Описание возврата: Возвращает 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()
Получить JSON из base64 строки (BSON)
Описание возврата: Возвращает строку 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()