使用离子库将double值作为body参数发送到url?

时间:2017-06-16 12:08:02

标签: android ion

我正在尝试通过Ion Library调用发送一个double值。我似乎无法发送双倍值,这会弄乱我的代码。我试图通过api调用将INR转换为USD,反之亦然。我的双重值是'金额'。

Ion.with(context)
                .load("POST",url)
                .setBodyParameter("amount",amount)
                .asString()
                .setCallback(new FutureCallback<String>() {
                    @RequiresApi(api = Build.VERSION_CODES.N)
                    @Override
                    public void onCompleted(Exception e, String result) {
                        try {
                            JSONObject o = new JSONObject(result);
                            if (o.getString("code").equals("200")) {
                                PriceModel.Instance().setUSDEquivalent(o.getDouble("result"));
                            }

                        } catch (JSONException e1) {
                            e1.printStackTrace();
                        }
                    }
                });

1 个答案:

答案 0 :(得分:0)

您需要将double转换为String,因为ION仅允许String作为正文参数。所以你可以这样做:

Ion.with(context)
.load("POST",url)
.setBodyParameter("amount",String.valueOf(amount))..

Reference: IonRequestBuilder.setBodyParameter(String name, String value)