В приведенном ниже коде я делаю HTTP-запрос для получения некоторых данных с определенного URL-адреса. Я хотел бы получить результат объекта "continue", который показан ниже в разделе JSON.
Я создал объектную модель, как показано ниже в коде. однако результат, который я получаю из «смещения» и «продолжения», является нулевым, несмотря на то, что они содержат значения.
Я исследовал URL через
JSON Validate
Ссылка:
JSONResponse
активность
class MainActivity : AppCompatActivity(){
val LOG_TAG : String = this::class.java.simpleName
var mEditTextSearch : EditText? = null
var mButtonCheckResult : Button? = null
var mTextView : TextView? = null
//as comm. channel between backend and frontend
val WikiApiServe by lazy {
WikiApiService.create();
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initViews()
}
private fun beginSearch(srsearch : String) {
WikiApiServe.hitCountCheck("query", "json","search", srsearch)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{result ->
Log.e(LOG_TAG, "error.message: " + result.query.searchinfo.totalhits)
},
{error -> Log.e(LOG_TAG, "error.message: " + error.message)}
)
WikiApiServe.hitContinueAsSrOffsetInt("query", "json","search", srsearch)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{result ->
Log.e(LOG_TAG, "error.message: " + result.sroffset)
},
{error -> Log.e(LOG_TAG, "error.message: " + error.message)}
)
WikiApiServe.hitContinueAsContinueString("query", "json","search", srsearch)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{result ->
Log.e(LOG_TAG, "error.message: " + result.cont)
},
{error -> Log.e(LOG_TAG, "error.message: " + error.message)}
)
}
fun initViews() : Unit {
mEditTextSearch = findViewById(R.id.etSearchEntry)
mButtonCheckResult = findViewById(R.id.btnCheckSearchResult)
mTextView = findViewById(R.id.tvResult)
}
public fun clickHandler(v : View?) : Unit {
when(v?.id) {
R.id.btnCheckSearchResult -> {
beginSearch("Melania Trump")
}
}
}
}
objectModel
object Model {
data class ResultOfQuery(val query: Query)
data class Query(val searchinfo: SearchInfo)
data class SearchInfo(val totalhits: Int)
data class ResultOfContinueAsSrOffsetInt(val sroffset: Sroffset)
data class Sroffset(val sroffset: Int)
data class ResultOfContinueAsContinueString(val cont: Continue)
data class Continue(val cont: String)
JSON
{
пакетное завершение: "",
Продолжить: {
sroffset: 10,
продолжить: "- ||"
},
запрос: {
searchinfo: {}
}
}
результат
2019-07-09 16:09:50.037 15818-15818/com.example.retrofitkotlin_v10 D/MainActivity: result.query.searchinfo.totalhits: 26505
2019-07-09 16:09:55.332 15818-15818/com.example.retrofitkotlin_v10 D/MainActivity: result.sroffset: null
2019-07-09 16:09:55.386 15818-15818/com.example.retrofitkotlin_v10 D/MainActivity: result.cont: null