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

如何在jQuery中构造包含动态数组值的JSON消息

核心修改点

  • 提前给line对象初始化images为空数组,才能调用push方法追加元素
  • 遍历完成后直接把line对象赋值给根JSON对象的line属性即可

修正后完整代码

// 初始化根JSON对象
const jsonObj = {};
// 初始化line对象,提前创建images空数组
const line = {
    name: $("#name").val(),
    images: []
};
    
let counter = 1;
$("div.carousel_image > img").each(function() {
    const image = {};
    // 若需要order为字符串格式,可转成String类型和目标结构对齐
    image.order = String(counter);
    // 提取文件名作为图片name,和目标结构对应
    image.name = $(this).attr('src').split('/').pop();
    // 补充目标结构要求的link字段,存完整图片地址
    image.link = $(this).attr('src');
    line.images.push(image);
    counter++;
});

// 把组装好的line对象挂载到根JSON对象上
jsonObj.line = line;

// 如果需要输出JSON字符串,调用JSON.stringify即可
const finalJsonStr = JSON.stringify(jsonObj);

简化修改说明

如果不需要调整字段提取逻辑,只需要保留你原有字段设置,只要加images数组初始化和最后挂载line的两步即可,核心错误就是未提前初始化数组导致push方法调用失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:39:03