合并两个对象数组JSON字符串时如何去除中间的]和[符号?
如何移除合并结果中间的]和[符号?
你现在的问题出在错误地拼接了两个JSON字符串,而不是先合并数组再转JSON。直接拼接JSON字符串自然会出现][这种多余分隔符,下面给两种解决办法:
一、推荐:先合并数组再转JSON(从根源避免问题)
先确保两个数据都是数组格式,合并后再统一转成JSON字符串:
// 先把plan_cookie从JSON字符串解析成数组(如果它原本是字符串的话) if (typeof plan_cookie === 'string') { plan_cookie = JSON.parse(plan_cookie); } // 同样处理protect_plan_from_db,确保它是数组 const protectPlanArray = typeof protect_plan_from_db === 'string' ? JSON.parse(protect_plan_from_db) : protect_plan_from_db; // 合并两个数组 plan_cookie = plan_cookie.concat(protectPlanArray); // 最后统一转成JSON字符串 const mergedResult = JSON.stringify(plan_cookie); alert("2.1 after CONCAT plan_cookie = " + mergedResult);
这样生成的JSON会是一个完整的数组,不会出现中间的][。
二、应急修复:直接替换字符串中的多余符号
如果已经拿到了带][的错误字符串,可以用替换处理:
// 假设你的错误结果存在wrongResult变量里 const wrongResult = "[{\"id\":1,...}][{\"id\":6,...}]"; const fixedResult = wrongResult.replace('][', ','); // 验证:解析成数组确认格式正确 const fixedArray = JSON.parse(fixedResult);
这种方法只适合应急,不推荐作为常规方案——如果字符串里其他位置意外出现][,会导致错误替换。
内容的提问来源于stack exchange,提问作者Cookie
相关产品推荐
相关产品推荐

