| Новости | 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\"}]"
}