You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将double类型值传入带UserAddTime根对象的JSON字符串?

解决JSON字符串拼接错误的方案

方法1:使用JSON序列化工具(推荐)

手动拼接JSON字符串容易出现语法错误、格式不规范等问题,最稳妥的方式是创建对应结构的对象,通过序列化工具生成标准JSON:

double time = 60;
// 构建匹配目标JSON结构的匿名对象
var userAddTimeObj = new 
{
    UserAddTime = new 
    {
        Minutes = time,
        TotalPrice = 0.00,
        IsTaxIncluded = false
    }
};
// 序列化为格式化后的JSON字符串(.NET Core及以上内置JsonSerializer)
string jsonStr = System.Text.Json.JsonSerializer.Serialize(userAddTimeObj, new JsonSerializerOptions { WriteIndented = true });
// 构建StringContent
var content = new StringContent(jsonStr, Encoding.UTF8, "application/json");

如果项目使用Newtonsoft.Json(需通过NuGet安装),可替换序列化代码为:

string jsonStr = Newtonsoft.Json.JsonConvert.SerializeObject(userAddTimeObj, Newtonsoft.Json.Formatting.Indented);

方法2:修正手动字符串拼接

若坚持手动拼接,需解决两个核心问题:JSON要求键名使用双引号,同时避免数值格式受区域设置影响:

using System.Globalization;

double time = 60;
var content = new StringContent(
    @"{
        ""UserAddTime"":
        {
            ""Minutes"":" + time.ToString(CultureInfo.InvariantCulture) + @",
            ""TotalPrice"":0.00,
            ""IsTaxIncluded"":false
        }
      }",
    Encoding.UTF8, "application/json");
  • 用转义双引号""替代原代码中的单引号,符合JSON语法规范
  • 调用ToString(CultureInfo.InvariantCulture)确保double值始终以英文小数点输出,避免区域格式导致的JSON解析错误

内容的提问来源于stack exchange,提问作者SoftSol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:47:10