在 Kotlin Android 中检索多维数组 JSON
Retrieve MultiDimensional Array JSON in Kotlin Android
我想得到这种响应(如果用户搜索特定关键字):
VendListRequest(row=50, page=1, query=[["vendorName", contain, "erlangga"],["status","true"]])
但是我得不到那种回应。
我有这样的数据 class:
data class VendListRequest (
val row : Int,
val page : Int,
val query : List<List<String>>
)
它只能检索这样的响应:
(row=50, page=1, query=[["vendorName", contain, "erlangga"])
我想要的情况是这样的:
当用户未在搜索框中输入任何关键字时,将出现列表,调试查询响应将如下所示:
VendListRequest(row=50, page=1, query=[["status", "true"]])
当用户在搜索框中键入任何关键字时,将出现列表并且调试查询响应将如下所示:
VendListRequest(row=50, page=1, query=[["vendorName", contain, "erlangga"],["status", "true"]])
这是我在 kotlin class 中检索数据的代码:
override fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, status: String?, isLoadMore: Boolean): Observable<SearchListResponse<VendorItem>> {
var searchList: List<List<String>> = emptyList()
if (!vendorName.isNullOrEmpty() && !query.isNullOrEmpty()) {
searchList = listOf(status, EQUALS, true)
}
//___________________________________________________________________
}
我终于找到了答案。
这就是我所做的:
- 我在我的存储库中添加了一个新参数
之前:
fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, isLoadMore: Boolean) : Observable<Response<VendorItem>>
之后:
fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, status: String, isLoadMore: Boolean) : Observable<Response<VendorItem>>
- 创建一个新的List变量“statusList”并将其添加到模型中class,之后我们只需要调用REST API.
val vendListReq= VendListReq(row, page, searchList + statusList)
然后在 :
中调用它
.concatMap { remRegData.getVendList(it, vendListReq) }
我想得到这种响应(如果用户搜索特定关键字):
VendListRequest(row=50, page=1, query=[["vendorName", contain, "erlangga"],["status","true"]])
但是我得不到那种回应。 我有这样的数据 class:
data class VendListRequest (
val row : Int,
val page : Int,
val query : List<List<String>>
)
它只能检索这样的响应:
(row=50, page=1, query=[["vendorName", contain, "erlangga"])
我想要的情况是这样的:
当用户未在搜索框中输入任何关键字时,将出现列表,调试查询响应将如下所示:
VendListRequest(row=50, page=1, query=[["status", "true"]])
当用户在搜索框中键入任何关键字时,将出现列表并且调试查询响应将如下所示:
VendListRequest(row=50, page=1, query=[["vendorName", contain, "erlangga"],["status", "true"]])
这是我在 kotlin class 中检索数据的代码:
override fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, status: String?, isLoadMore: Boolean): Observable<SearchListResponse<VendorItem>> {
var searchList: List<List<String>> = emptyList()
if (!vendorName.isNullOrEmpty() && !query.isNullOrEmpty()) {
searchList = listOf(status, EQUALS, true)
}
//___________________________________________________________________
}
我终于找到了答案。 这就是我所做的:
- 我在我的存储库中添加了一个新参数
之前:
fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, isLoadMore: Boolean) : Observable<Response<VendorItem>>
之后:
fun getVendorList(row: Int, page: Int, vendorName: String?, query: String?, status: String, isLoadMore: Boolean) : Observable<Response<VendorItem>>
- 创建一个新的List变量“statusList”并将其添加到模型中class,之后我们只需要调用REST API.
val vendListReq= VendListReq(row, page, searchList + statusList)
然后在 :
中调用它.concatMap { remRegData.getVendList(it, vendListReq) }