android 如何用post给后台提交json格式的数据

abcwangkai1 2018-01-02 02:19:56
我这只是用post传过去 但是后台接收有问题 需要提交json格式 求大神 赐教



huoquCode.setClickable(false);
UIUtils.countdownOneMin(huoquCode);
String url ="http://192.168.0.151:8080/Platform/sms/captcha.do";
String phone = et_register_user.getText().toString().trim();
System.out.print("手机号"+phone);
OkHttpUtils
.post()
.url(url)
.addParams("phone_number", phone)
.build()
.execute(new StringCallback() {
@Override
public void onResponse(String response, int id) {
LogUtils.e("请求返回的数据~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+response);
LogUtils.e(response);
Gson gson = new Gson();
SendMsmBean sendMsmBean = gson.fromJson(response, SendMsmBean.class);
/*if (sendMsmBean.status.equals("0")) {
ToastUtil.showShort(getContext(), sendMsmBean.info);
}*/
}
@Override
public void onError(Call call, Exception e, int id) {
Toast.makeText(getContext(), "失败", Toast.LENGTH_SHORT).show();
}
});

}
...全文
1201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
猫吃鱼cat 2018-01-03
  • 打赏
  • 举报
回复
为什么不试着将json字符串放在body体中post到后台呢?这很简单啊!
x80819091 2018-01-03
  • 打赏
  • 举报
回复
可以试试volley,谷歌的官方库,现在你用的web请求库已经不维护了
202005021116 应用层 2018-01-02
  • 打赏
  • 举报
回复
用Gson的 toJson()方法
jklwan 2018-01-02
  • 打赏
  • 举报
回复
看样子用的是hongyang大神的okhttputil,参考链接 json string的话用以下代码

OkHttpUtils
    .postString()
    .url(url)
    .content(new Gson().toJson(new PhoneBean(phone)))
    .build()
    .....
PhoneBean是需要传递的数据的类

public class PhoneBean{
    private String phone_number;
    public PhoneBean(String phone_number) {
        this.phone_number= phone_number;
    }
    public String getPhone_number() {
        return phone_number;
    }

    public void setPhone_number(String phone_number) {
        this.phone_number= phone_number;
    }

}
如果有多个参数,就添加多个参数并设置值进行传递
x80819091 2018-01-02
  • 打赏
  • 举报
回复
这就是android的代码啊,以后java在安卓的开发迟早会被Kotlin取代的,尽早掌握语法也不是坏事,因为不喜欢java,就没学过
abcwangkai1 2018-01-02
  • 打赏
  • 举报
回复
看不懂你写的 有android的代码吗?
x80819091 2018-01-02
  • 打赏
  • 举报
回复
没有语法高亮,只能用java的了
fun register(
            context: Context,
            email: String,
            password: String,
            complete: (Boolean) -> Unit) {
        val jsonBody = JSONObject()
        jsonBody.put("email", email)
        jsonBody.put("password", password)
        val requestBody = jsonBody.toString()

        val registerRequest = object : StringRequest(
                Method.POST,
                URL_REGISTER,
                Response.Listener { response ->
                    println(response)
                    complete(true)
                },
                Response.ErrorListener { error ->
                    Log.d("ERROR", "Could not register user")
                    complete(false)
                }) {
            override fun getBodyContentType(): String {
                return "application/json; charset=utf-8"
            }

            override fun getBody(): ByteArray {
                return requestBody.toByteArray()
            }
        }

        Volley.newRequestQueue(context).add(registerRequest)
    }
x80819091 2018-01-02
  • 打赏
  • 举报
回复
我是volley做的web请求,请求体是json,可以参考一下,代码是kotlin,不要问为什么,android只会kotlin...
fun register(
            context: Context,
            email: String,
            password: String,
            complete: (Boolean) -> Unit) {
        val jsonBody = JSONObject()
        jsonBody.put("email", email)
        jsonBody.put("password", password)
        val requestBody = jsonBody.toString()

        val registerRequest = object : StringRequest(
                Method.POST,
                URL_REGISTER,
                Response.Listener { response ->
                    println(response)
                    complete(true)
                },
                Response.ErrorListener { error ->
                    Log.d("ERROR", "Could not register user")
                    complete(false)
                }) {
            override fun getBodyContentType(): String {
                return "application/json; charset=utf-8"
            }

            override fun getBody(): ByteArray {
                return requestBody.toByteArray()
            }
        }

        Volley.newRequestQueue(context).add(registerRequest)
    }

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧