Я должен создать класс js, уважающий формат json
{
"rows": [{
"value": {
"comments": ${dInfo.description},
"Tags": [],
"metadataList": {
"names": [],
"metadata": {}
},
}]
}
Хотелось бы узнать, как объявить metadata.
На самом деле я так и заявляю.
export class Value {
comments: string;
Tags:string[];
metadataList:{
name:string[],
metadata: Object
}
}
Здесь metadataList не набирается, что, на мой взгляд, не лучшая практика.
как я могу объявить metadataList с его типом?
Я не уверен, но когда я пробую metadataList: Object{..}, он не работает, только {} его набирает?
приведите пример, или ответ Фентона должен помочь.
Поскольку вам уже нужно придумывать class Value { ... }, что мешает вам реализовать и ваш собственный class MetadataList { ... }?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если метаданные представляют собой хранилище ключей / значений, вы можете сделать тип немного уже, чем Object или {}, ужесточив типы значений:
class Value {
comments: string;
Tags:string[];
metadataList:{
name:string[],
metadata: { [key: string]: string }
}
}
const val = new Value();
val.metadataList = {
name: ['Example'],
metadata: {
key: 'value',
key2: 'value'
}
};
Если у вас есть дополнительная информация о ваших метаданных, я могу сузить ее.
Итак, у вас есть образцы данных? то есть что будет в метадаталисте - в частности, что отличается от моего примера?
Должен ли я указывать тип списка метаданных Object{..}, а не только {..}?
Почему ты так думаешь? Объект набран.