Android — Kotlin: отправка непустого jsonObject, но получение пустого

Я посылаю JSON из php-файла, чтобы получить через код kotlin в Android Studio.
Я записываю json перед отправкой в ​​файл «test.txt» и содержимое этого файла после выполнения выглядит так:

test.txt

{"resultarray":{"result":115}}

Часть PHP файл следующий

$response = array('result' => 115);
$response1 = array('resultarray' => $response);
$encoded = json_encode($response1);
file_put_contents("test.txt",$encoded);
header('Content-type: application/json');
exit($encoded);

Сообщение Я использую следующий класс:

class Post {

@SerializedName("resultarray")
@Expose
public var resultarray: JSONObject? = null


override fun toString(): String {
if (resultarray == null )
{
return " 'resultarray' is null"
}else {
val entries = resultarray?.keys()
if (entries == null) {
return " 'entries' is null"}else {
var tostr = "start"for (entry in entries) {
var whatweget  = resultarray?.get(entry)
if(whatweget != null) {
tostr += " " + whatweget
}
}
return tostr + "end"}
}

Когда вышеуказанный сегмент кода выполняется, полученная строка

startend

Я не знаю, как взять поле ‘result’, которое эквивалентно пониманию того, как взять jsonobject изнутри jsonobject.
Так же resultarray равно «{}». Таким образом, проблема может быть с аннотацией resultarray.

заранее спасибо

1

Решение

Решением проблемы было объявить resultarray как JSONElement (как вы можете видеть ниже).

class Post {
@SerializedName("resultarray")
@Expose
public var resultarray: JsonElement? = null

override fun toString(): String {
return ""+resultarray;
}
}

Я взял в качестве вывода при вызове toString ():

{"result":115}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector