Существует ли язык сериализации данных, позволяющий использовать объекты в качестве имени для другого объекта?
Я обнаружил, что 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