C# 正确格式化json负载

C# 正确格式化json负载,c#,json,restsharp,C#,Json,Restsharp,我正试图格式化json负载,但在Params属性中出现语法错误 mailer.send2(new PayoutEmailModel { medium = "email", name = "sap_finance_supplier_payout", @params = @"{""supplier"":""" +

我正试图格式化json负载,但在Params属性中出现语法错误

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

我认为迪内什是对的,按你的方式做可能不会得到你期望的结果。但是,为了回答您的问题,语法错误是因为您使用每个
+
运算符开始一个新字符串,但没有使用新的
@
前缀:

@“{”“供应商”“:”“+受益人名称+@”“,”“最后四位数”“:”“+AccountNo+@”“,”“金额”“:”“+amount+@”“,”“valuedate”“:”“+受益人名称+@”“,”“时间”“:”“+受益人名称+@”“,”