正确格式化 json 负载

Properly format json payload

我正在尝试格式化 json 负载,但我在参数 属性

处收到语法错误
   mailer.send2(new PayoutEmailModel
                    {
                        medium = "email",
                        name = "sap_finance_supplier_payout",
                        @params = @"{""supplier"":""" + BeneficiaryName + """,""lastfourdigits"":""" + AccountNo + """,""amount"":""" + Amount + """,""valuedate"":""" + BeneficiaryName + """,""time"":""" + BeneficiaryName + """}",
                        recipient = "dapo.olotu@konga.com",
                        sender = "no-reply@konga.com",
                        subject = "Payment Notification",
                        sender_id = "Konga"
                    });

编辑, 我需要 @Params 正确渲染如下

{"supplier":"foo","lastfourdigits":"foo","amount":"foo","valuedate":"foo","time":"foo"}

尝试使用匿名类型

mailer.send2(new PayoutEmailModel
    {
        medium = "email",
        name = "sap_finance_supplier_payout",
        params = new { supplier = BeneficiaryName, lastfourdigits = AccountNo, amount = Amount, valuedate = BeneficiaryName, time = BeneficiaryName},
        recipient = "dapo.olotu@konga.com",
        sender = "no-reply@konga.com",
        subject = "Payment Notification",
        sender_id = "Konga"
    });

我认为 Dinesh 是对的,按照您的方式进行可能得不到您期望的结果。但是,要回答你的问题,语法错误是因为你用每个 + 运算符开始一个新字符串,但你没有在前面加上新的 @:

@"{""supplier"":""" + 收款人姓名 + @""",""lastfourdigits"":""" + 账号 + @""",""amount"":""" + 金额 + @""",""valuedate"":""" + 受益人姓名 + @""",""time"":""" + 受益人姓名 + @" ""}",