http://cm08323.tmweb.ru/android/determinace/json/images.json 我有一些json到服务器。
我的数据库类:
@Entity
data class Image(val url: String = "", val urlAnswer: String = "", val race: String = "") : DisplayableItem, Persistable
api接口:
interface ImagesAdi {
@GET("android/determinace/json/images.json")
fun getImages(): Single<List<ImagesResponse>>
}
...
class ImagesResponse(
val images: List<ImageSingle>)
class ImageSingle(val url: String,
val url_answer: String,
val race: String)
我的映射器 ImagesResponse 转换为图像:
@Singleton
class ChooseRaceMapper @Inject constructor() : (ImageSingle) -> Image {
override fun invoke(response: ImageSingle): Image = Image(response.url, response.url_answer, response.race)
}
如何从列表&lt;变换器看起来像变压器ImageSingle&gt; 到列表&lt;图像&gt; ?
我有单个物体的变形金刚,他看起来像那样:
fun chooseRace(): Single<Image> = imagesAdi.getSingleImage()
.map { chooseRaceMapper.invoke(it) }
.doOnSuccess {
database.addDetectedResult(it)
.subscribeIgnoreResult()
requestImages()
}
你能帮我写一下“列表”类型的变压器吗?我尝试制作它,但它没有成功。谢谢。对不起我的英语不好。
或者从Map到List的转换应该在Mapper类中更好? (在方法调用中)
答案 0 :(得分:1)
考虑到 images.json ,您的print np.linalg.cond(corr) . # 1.23116253259
print np.linalg.cond(multicollinear_corr) . # 6.19985218873e+15
不应该返回getImages()
的{{1}}。
Single
然后你可以使用Kotlin List.map()
映射器来映射列表。
List
答案 1 :(得分:1)
接口声明错误:
imagesAdi.getImages().map { it.images }
.map { /* your mapper here */ }
...
应该是(根据你的json):
engine = creat_engine("oracle:// ....")
Base = declarative_base()
class MyTable(Base):
__tablename__ = 'MyTable'
ID = Column(Integer, Sequence('my_id_seq'), primary_key=True)
SomeColumn = Column(VARCHAR(50))
Base.metadata.create_all(engine)
对于映射部分,这样的事情会:
class MyTable(Base):
__table__ = Table('myTable', Base.metadata, autoload=True,
Column('id', Integer, Sequence('my_id_seq'), primary_key=True),
Column('somecolumn', VARCHAR(50))
)