Я работаю с не очень удобным API, использующим Angular HTTP и rxjs. Я пытаюсь вернуть Observable<List<Object>>
из моего сервиса. Вот пример JSON, который возвращается из моего запроса get:
Items: {
"$type": "System.Collections.Generic.List`1[[Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts]], mscorlib"
"$values": [
Object { "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts", EntityTypeName: "7", Properties: {…} }
Object { "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts", EntityTypeName: "7", Properties: {…} }
Object { "$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts", EntityTypeName: "7", Properties: {…} }
]
}
А затем внутри каждого объекта:
{
"$type": "Asi.Soa.Core.DataContracts.GenericEntityData, Asi.Contracts"
EntityTypeName: "7"
Properties: {
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts"
"$values": {}
}
Мне нужно извлечь $values
для каждого элемента, а затем вернуть список $values
объектов. Но я не могу понять, как это сделать с Angular и rxjs без подписки. И я не хочу подписываться, так как хочу, чтобы компонент , а не service , обрабатывал полученные данные.
Я искал в rxjs Operators решение моей проблемы. Но, похоже, нет оператора, который преобразует List<X>
в X при сохранении наблюдаемой.
Возможно ли это сделать с Angular2 + и rxjs? Или, может быть, есть лучший способ выполнить эту задачу. Я относительно новичок в реактивном программировании, поэтому любые общие советы будут оценены.