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

Azure Table Storage数据经定时函数提交API如何去除JSON方括号

问题根源

你生成的JSON带多余方括号,核心原因是PersonBookingModel的Test、Info、License三个属性被赋值为List集合类型,JSON序列化时集合默认会被转为数组,就会用方括号包裹。你期望输出的是单个对象,不需要用集合承载数据。

最优解决方法(改代码逻辑,完全符合要求)

步骤1:调整PersonBookingModel的属性定义

如果你当前的PersonBookingModel里三个属性是集合类型,先改为单个实体类型:

// 改前的错误定义示例
public class PersonBookingModel
{
    public List<PersonBookingRouteModel> Test { get; set; }
    public List<PersonBookingGoodsModel> Info { get; set; }
    public List<PersonBookingDriverModel> License { get; set; }
}

// 改后的正确定义
public class PersonBookingModel
{
    public PersonBookingRouteModel Test { get; set; }
    public PersonBookingGoodsModel Info { get; set; }
    public PersonBookingDriverModel License { get; set; }
}

步骤2:修改分组赋值逻辑

你已经在代码里取了分组的第一条数据baseEntity = group.First(),直接用这条数据构造对象即可,不需要遍历整个分组转列表:

var personBooking = new PersonBookingModel
{
    Test = new PersonBookingRouteModel 
    {
        name = baseEntity.PersonName.ToString()
    },
    Info = new PersonBookingGoodsModel
    {
        Weight = baseEntity.PersonWeight.ToString(),
        Age = baseEntity.PersonAge.ToString()
    },
    License = new PersonBookingDriverModel
    {
        number = baseEntity.LicenceNumber.ToString()                             
    }
};

改完后直接序列化就能得到你要的无方括号格式,不需要额外处理。

应急硬编码方案(不推荐,仅临时救急使用)

如果暂时不想改模型定义,可以在序列化完成后通过字符串替换去除方括号,仅当数组内只有一个对象、且对象内容不含方括号时生效:

var payload = JsonConvert.SerializeObject(personBooking);
// 硬删方括号
payload = payload.Replace("[", "").Replace("]", "");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:39:01