代码之家  ›  专栏  ›  技术社区  ›  Jakegarbo

在Kotlin改造2根未加工JSONARRAY管柱

  •  0
  • Jakegarbo  · 技术社区  · 7 年前

    如何在kotlin使用改造后发布原始jsonarray字符串

    我有 超时 答复 失败 方法

    这是我要发布的字符串数组示例

    [{“用户名”:“用户名4”},{“用户名”:“用户名2”}]

    这是我的端点定义

    @Headers("Content-Type: application/json;charset=UTF-8")
        @POST("insert/createuser")
        fun postuser(@Body logs:String ):Call<ArrRes>
    

    这是我的课

    class ArrRes{
    
        @SerializedName("username")
        @Expose
        var username: String = ""
    
        @SerializedName("message")
        @Expose
        var message: String = ""
    
        @SerializedName("status")
        @Expose
        var status: String = ""
    }
    

    这是我的发帖方式

    var obj=jsonobject(); var arr=JSONArray();

        for (i in 0  until 5){
            obj.put("username","username${i}");
            arr.put(obj);
        }
    
        Log.i("app:sync","${arr.toString()}")
    
        mService!!.postuser(arr.toString()).enqueue(
               object : Callback<LogResponse> {
                    override fun onFailure(call: Call<LogResponse>, t: Throwable) {
                        Log.i("app:retro:service", "onFailure ${t.message}")
                    }
    
                    override fun onResponse(call: Call<LogResponse>, response: Response<LogResponse>) {
                        if (response.isSuccessful()) {
                            Log.i("app:retro:service", "onResponse true ${response.body()!!.toString()}")
                        } else {
                            Log.i("app:retro:service", "onResponse false ${response.raw().toString()}")
                        }
                    }
               }
        )
    

    以下是使用邮递员的成功邮件示例

    enter image description here

    谢谢你的帮助:)

    1 回复  |  直到 7 年前
        1
  •  0
  •   Jakegarbo    7 年前

    我通过添加以下依赖项来解决此问题:

    implementation 'com.squareup.retrofit2:converter-scalars:$version'
    

    有多种现有的各种数据格式的改型转换器。可以将Java对象序列化和反序列化为JSON或XML或任何其他数据格式,反之亦然。在可用的转换器中,您还可以找到一个reformation scalars转换器,它负责解析要放入请求体中的任何java原语。转换适用于两个方向:请求和响应。 https://futurestud.io/tutorials/retrofit-2-how-to-send-plain-text-request-body