使用离子库将双精度值作为主体参数发送到 url?

Send double value as body parameter to url using ion library?

我正在尝试通过 Ion Library 调用发送双精度值。我似乎无法发送双精度值,这弄乱了我的代码。我正在尝试通过 api 调用将 INR 转换为美元,反之亦然。我的双精度值是 'amount'.

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();
                        }
                    }
                });

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

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

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