Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 25.12.2017 02:56 / 25.12.2017 04:30
Здравствуйте, хочу получить json такого вида:{ "name": "api-server", "count": 0, "created": "2017-12-25 02:38:47", "updated": "", "data": [{ "email": "mail@mail.com", "server": "example.ru", "license": "63d5454c-62d0-4355-950f-0cb79396860d", "api": "57fec556-4e74-4654-a2c6-3f67b9be5fb9", "secret": "9c1f7004-8066-491e-8410-48c315e85e3f", "public": "0ae6f861-8faa-401b-a0dd-1e07a915a3e2" }] }этот json будет хранится в файле, data будет изменятся
$hash[ $.name[$table] $.count(0) $.created[$self.options.server.time] $.updated[] $.data[$options.data] ] $build[^json:string[$hash;$.indent(true)]] $db[^file::create[binary;$table;$build]] ^db.save[binary;${path}/^math:md5[$table]]но так у меня получается такая структура:
{ "name": "api-server", "count": 0, "created": "2017-12-25 02:38:47", "updated": "", "data": { "email": "mail@mail.com", "server": "example.ru", "license": "63d5454c-62d0-4355-950f-0cb79396860d", "api": "57fec556-4e74-4654-a2c6-3f67b9be5fb9", "secret": "9c1f7004-8066-491e-8410-48c315e85e3f", "public": "0ae6f861-8faa-401b-a0dd-1e07a915a3e2" } }при этом заранее неизвестно какая будет структура внутри data, названия могут быть разные и со временем дополнятся.
$data[^table::create{^options.data.foreach[name;value]{$name}[ ]}] ^data.append[$options.data] $hash[ $.name[$table] $.count(0) $.created[$self.options.server.time] $.updated[] $.data[^data.foreach[;value]{^self.to_safe[^json:string[$value;$.indent(true)]]}[, ]] ] $build[^json:string[$hash; $.indent(true) $.table[array] ]] $db[^file::create[binary;$table;^taint[$build]]] ^db.save[binary;${path}/^math:md5[$table]] @to_safe[result][locals] $replace[^table::create[nameless]{ \ ^taint[^#09] ^taint[^#0A]}] $result[^result.replace[$replace]]тогда в результате получается такой вид:
{ "name": "api-server", "count": 0, "created": "2017-12-25 04:23:48", "updated": "", "data": "[{\"email\":\"mail@mail.com\",\"server\":\"example.ru\",\"license\":\"2d4c7280-be97-439e-b685-e7fff67934c1\",\"api\":\"8ada29a0-2437-4a2f-9ed1-38f1e629e08a\",\"secret\":\"59dab8de-679e-4b86-b1cc-bc311ea1a4ac\",\"public\":\"e9ff3257-f832-4dc5-91e7-eeb3826fff8d\"}]" }