Существует ли язык сериализации данных, позволяющий использовать объекты в качестве имени для другого объекта?

Я обнаружил, что JSON и YAML не хватает.

Я хочу сделать что-то вроде этого (в YAML):

nodes:
  node: "name for my node":
    - data
    - for 
    - this
    - node

(в формате JSON):

{"nodes":
   {"node":"name for my node": {
     ["data","for","this","node"] 
   }}
}

Но они оба недопустимы в этих языках сериализации данных.

Кто-нибудь знает язык сериализации данных, где вы можете использовать объект в качестве имени для объекта, в основном? Я думаю, что глупо, что вы не можете сделать это в YAML, хотя я мог бы простить JSON, поскольку он разработан так, чтобы быть простым, а не гибким.

1 ответ

На самом деле, YAML может сделать это. Попробуйте синтаксис сложного ключа (см. Нижнюю часть спецификации в разделе 2.2)

nodes:
  ? node: name for my node
  : - data
    - for
    - this
    - node

Это карта с одним ключом, используемая в качестве ключа. Если вы, возможно, были после списка в качестве ключа:

nodes:
  ? - nodename1
    - nodename2
  : - data
    - for
    - this
    - node
Другие вопросы по тегам