object Object instead of JSON. Why?

So, i am trying to connect my Kotlin code and Node.js backend, trying to POST some JSON info, but have [object Object] as a req.body. Why so and how to fix this?

Main.kt:

import com.sun.net.httpserver.Request
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.encodeToString

@Serializable
data class UsrData(val first_name: String, val username: String)


fun main() {
    val client = HttpClient.newBuilder().build();
    val requestBody = Json.encodeToString(UsrData("Alex", "ztrix"))
    println(requestBody.javaClass) // class java.lang.String
    val request = HttpRequest.newBuilder()
        .uri(URI.create("http://localhost:3000/niggawhat"))
        .POST(HttpRequest.BodyPublishers.ofString(requestBody))
        .build()
    val response = client.send(request, HttpResponse.BodyHandlers.ofString());
    println(response.body()) // Hello, [object Object]
}

index.js

const express = require("express")
const app = express()
const bodyParser = require('body-parser')

app.use(bodyParser.json());

app.post("/niggawhat", function(req, res) { 
    console.log("Post request arrived with " + req.body)
    res.send("Hello, " + req.body)
  }); 

app.listen(3000, function(){ 
  console.log("server is running on port 3000")
})

I tried everything connected with app.use(bodyParser.json()), val jsonParser = bodyParser.json() and others. Nothing seems to work.