Alexey Starikov - 2017-09-21 07:17:56 -
In reply to message 1 from Roland
# jsonMaker
Create JSON easy
PHP class for creating and modifying a text string in JSON format
# Installation
composer require alexsuperstar / jsonmaker
# Creating JSON
Example:
$ a = new \ alexstar \ JsonMaker ();
$ cc = 'xyz';
$ a -> {$ cc} -> bbb-> cccc [0] -> xxx = 5;
$ a -> {$ cc} -> zz = 'qq';
$ a-> xyz-> zf = 'qq';
$ a-> xx-> zz = 'qq';
echo $ a;
Result
{"xyz": {"bbb": {"cccc": [{"xxx": 5}]}, "zz": "qq", "zf": "qq"}, "xx": {"zz ":" qq "}}
# Editing JSON
Original JSON
{
"firstName": "Ivan",
"lastName": "Ivanov",
"address": {
"streetAddress": "Moscow sh., 101, ap. 101,"
"city": "Leningrad",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
PHP code
<? php
$ loader = require_once __DIR__. '/vendor/autoload.php';
$ json = new \ alexstar \ JsonMaker ('{"firstName": "Ivan", "lastName": "Ivanov", "address": {"streetAddress": "Moscow, 101, ap. 101", "city ":" Leningrad "," postalCode ": 101101}," phoneNumbers ": [" 812 123-1234 "," 916 123-4567 "]} ');
$ json-> firstName = 'Alexey';
$ dom = 'home';
$ json-> address -> {$ dom} = 6;
$ json-> address-> code [] = '123';
$ json-> address-> code [] = '456';
$ json-> phoneNumbers [2] = '+ 7 (123) 1233-45-67';
unset ($ json-> address-> city, $ json-> phoneNumbers [0]);
echo $ json;
Result
{
"firstName": "Alexey",
"lastName": "Ivanov",
"address": {
"streetAddress": "Moscow sh., 101, ap. 101,"
"postalCode": 101101,
"House 6,
"code": [
"123",
"456"
]
},
"phoneNumbers": {
"1": "916 123-4567",
"2": "+7 (123) 1233-45-67"
}
}
PS: about the use of memory, I can not say anything, like everything is transmitted by links, but I'm not sure.