如何将具有值的对象转换为地图

时间:2018-08-10 04:06:27

标签: kotlin

我有一个对象,希望将其打印为字符串[key1 = value1&key2 = value2 ... etc] ,不包含空值键值对,并用逗号分隔&。

因此,我首先想到将其放入地图中,但是它不起作用,我也不知道它是如何工作的。

val wxPayOrderObj = WxPayOrder(appid = "wx0b6dcsad20b379f1", mch_id = 
            "1508334851", nonce_str = UUID.randomUUID().toString(),sign = null,
            body = "QQTopUp", out_trade_no = "20150806125346", total_fee = req.total_fee,
            spbill_create_ip = "123.12.12.123",
            trade_type = "JSAPI", openid = "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o")

所以输出将是

    appid=wx0b6dc78d20b379f1&mch_id=150788851&nonce_str=UUID.randomUUID().toString()&
body=QQTopUp&out_trade_no=20150806125346&total_fee=req.total_fee&
spbill_create_ip=123.12.12.123&trade_type=JSAPI&openid=oUpF8uMuAJO_M2pxb1Q9zNjWeS6o

任何人都请帮助我,谢谢。

1 个答案:

答案 0 :(得分:0)

我真的不明白您的问题,但是您想将对象转换为字符串(转换为所需的格式)吗?

重写对象的toString()以返回“ [key1 = value1&key2 = value2 ... etc]”

示例

override fun toString(){
   // make sure you compute the data first
   val answer = "[key1=$value1&key2=$value2...etc]"
   return answer
}

$用于字符串模板(即直接写入变量的名称,该值稍后将被连接)与其他字符串)