Сериализация

Общепринятым форматом сериализации для СДБВ есть JSON. Эквивалентные спецификации JSON приводятся в стандартах IETF RFC 8256 и ECMA 404. Издателям РЕКОМЕНДУЕТСЯ:

  • использовать кодировку UTF-8 для обеспечения максимальной функциональной совместимости (раздел 8.1 стандарта RFC 8259);

  • избегать символов, которые могут вызвать проблемы при приеме данных (например, такие: &, <).

См. раздел 9 спецификации JSON (стандарт ECMA-404), в котором описываются строки, кодировка и экранирование.

При создании крупных файлов также МОЖЕТ использоваться формат JSON lines.

Порядок характеристик

JSON-файл СДБВ ДОЛЖЕН состоять из серии упорядоченных объектов Statement (Характеристики) в рамках массива высшего уровня.

В частности, значения полей interestedParty и subject в характеристике отношений, если они выражены значением recordId, ДОЛЖНЫ совпадать со значением свойства recordId по крайней мере еще одной предыдущей характеристики в массиве.

Альтернативная табличная форма

Данные СДБВ также МОГУТ быть сериализованы в виде таблицы, где каждая строка представляет характеристику. СЛЕДУЕТ обеспечить, чтобы столбцы отображали поля характеристик, а в заголовках столбцов СЛЕДУЕТ использовать соответствующий относительный путь к элементу json-документа из корня характеристики.

К примеру, выписка:

[
 {
   "statementId": "e3c07f34-1810-4eed-b845-4d9f4d97f9d5",
   "recordId": "1810-4eed-b845-4d9f4d97f9d5",
   "recordType": "entity",
   "recordDetails": {
     "identifiers": [
       {
         "scheme": "GB-COH",
         "id": "07444723"
       }
     ]
   }
 },
 {
   "statementId":"a2b485be-e3b6-4fd7-8a6a-930e46cf9957",
   "recordId": "e3b6-4fd7-8a6a-930e46cf9957",
   "recordType":"person",
   "recordDetails": {
     "identifiers":[
       {
         "scheme":"MX-RFC",
         "id":"ABC680524P-76"
       }
     ]
   }
 },
 {
   "statementId":"34b479f2-1681-4064-ab51-1e703fbafa",
   "recordId": "1681-4064-ab51-1e703fbafa",
   "recordType":"relationship"
 }
]

может быть сериализована в виде таблицы следующим образом:

statementId

recordId

recordType

recordDetails/identifiers/0/scheme

recordDetails/identifiers/0/id

e3c07f34-1810-4eed-b845-4d9f4d97f9d5

1810-4eed-b845-4d9f4d97f9d5

entity

GB-COH

07444723

a2b485be-e3b6-4fd7-8a6a-930e46cf9957

e3b6-4fd7-8a6a-930e46cf9957

person

MX-RFC

ABC680524P-76

34b479f2-1681-4064-ab51-1e703fbafa

1681-4064-ab51-1e703fbafa

relationship