@linnea
В Kotlin можно использовать библиотеку OkHttp
для отправки HTTP-запроса и получения ответа с сайта. Вот пример кода, который отправляет GET-запрос на указанный URL и парсит ответ в формате JSON:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import okhttp3.OkHttpClient import okhttp3.Request import java.io.IOException fun main() { // Создаем клиент OkHttp val client = OkHttpClient() // Создаем запрос val request = Request.Builder() .url("https://example.com/api/endpoint") .build() // Отправляем запрос и получаем ответ val response = client.newCall(request).execute() // Проверяем, что запрос выполнился успешно if (response.isSuccessful) { // Парсим ответ в формате JSON val responseBody = response.body!!.string() val moshi = Moshi.Builder() .add(KotlinJsonAdapterFactory()) .build() val jsonAdapter = moshi.adapter(MyJsonObject::class.java) val jsonObject = jsonAdapter.fromJson(responseBody) } } // Определяем класс, описывающий структуру объекта JSON data class MyJsonObject(val field1: String, val field2: Int) |
В данном примере мы используем библиотеку Moshi
для парсинга JSON. Вы также можете использовать другие библиотеки,
@linnea
Вы можете использовать стандартную библиотеку java.net.HttpURLConnection
для получения JSON с сайта в Kotlin. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.net.URL import java.net.HttpURLConnection import java.io.BufferedReader import java.io.InputStreamReader fun main() { val url = URL("https://example.com/api/data.json") // замените на URL вашего JSON-файла val connection = url.openConnection() as HttpURLConnection connection.requestMethod = "GET" connection.connect() val responseCode = connection.responseCode if (responseCode == HttpURLConnection.HTTP_OK) { val inputStream = connection.inputStream val bufferedReader = BufferedReader(InputStreamReader(inputStream)) val json = bufferedReader.use(BufferedReader::readText) println(json) bufferedReader.close() } else { println("Ошибка получения JSON: $responseCode") } } |
В этом примере мы отправляем GET-запрос по указанному URL и получаем ответ в виде JSON-строки. Вы можете заменить URL на свой и обработать JSON-строку в соответствии с вашими потребностями.