Я пытаюсь преобразовать JSON
в JSON-LD
и задавался вопросом, могу ли я использовать алгоритм расширения JSON-LD
для создания моего конвертера. Тогда я мог бы просто указать мою схему как контекст и запустить алгоритм расширения для выполнения преобразования. Проблема в том, что я не могу понять, как определить новые объекты значений в контексте, чтобы алгоритм расширения работал.Установка значения как объекта в расширении JSON-LD
Скажем, у меня есть это:
{
"timestamp": "2016-01-08T11:01:38Z"
}
, и я хочу, чтобы получить это:
{
"prefix:time": {"prefix:start": "2016-01-08T11:01:38Z"}
}
Я попытался его с помощью JSON-LD площадка с чем-то вроде этого:
{
"@context": {
"timestamp": {
"@id": "prefix:time",
"@value": {"prefix:start": "@value"}
}
},
"timestamp": "2016-01-08T11:01:38Z"
}
Но расширенный результат выглядит следующим образом:
[
{
"prefix:time": [
{
"@value": "2016-01-08T11:01:38Z"
}
]
}
]
Есть ли способ использовать алгоритм расширения (или другого) JSON-LD
для замены значения новым объектом JSON
?
Кажется, что это не представляется возможным с алгоритмами JSON-LD. Я перешел на использование JSON в библиотеку преобразования JSON - Jolt для работы. Он также имеет некоторые ограничения, но может охватывать некоторые простые случаи. Однако имейте в виду, что Jolt нельзя использовать для изменения значений в документе JSON, только перемещая их в разные места. https://github.com/bazaarvoice/jolt – Hannu
«Он также имеет некоторые ограничения, но может охватывать некоторые простые случаи. Однако имейте в виду, что Jolt нельзя использовать для изменения значений в документе JSON, только перемещая их в разные места ". Да, это была идея. «изменение значений» - это бизнес-логика, и это может быть реализовано после Jolt или как пользовательское преобразование Jolt. –