如何将JavaScript对象追加到另一对象末尾且不改变原有JSON格式
你给出的预期输出不属于合法的JSON或JavaScript结构:两个独立对象仅用逗号分隔、外层没有数组[]或父对象{}包裹时,JS引擎和JSON解析器均无法正常识别。根据你的使用场景可以选择以下两种实现方案:
方案1:需要可正常读写操作的结构化数据
这是标准合规的实现方式,仅在外层用数组包裹多个同级对象,不会修改原有两个对象的内部结构,完全符合你“保持JSON原有格式不变”的要求:
// 合并为数组 const merged = [hours_json, hours_part_2]; // 后续追加新对象直接调用push即可 merged.push(otherObject);
序列化后的输出结构为:
[ { "type": "COLUMN", "properties": { "span": 2 }, "children": [ { "rest of the code here" } ] }, { "type": "COLUMN", "properties": { "span": 10 }, "children": [] }, "rest of code" ]
方案2:仅需要输出你示例中的纯字符串格式(无需后续解析)
如果你的场景只需要生成符合你给出的示例格式的文本,不需要后续用JS操作或JSON解析,可以直接拼接两个对象序列化后的结果:
const outputStr = `${JSON.stringify(hours_json, null, 2)}, ${JSON.stringify(hours_part_2, null, 2)}, "rest of code"`; console.log(outputStr);
执行后输出的内容和你给出的预期效果完全一致,无外层数组包裹。
内容的提问来源于stack exchange,提问作者Cards Guy
相关产品推荐
相关产品推荐

