es6 复杂json对象字符串内容替换
时间: 2023-08-29 14:04:45 浏览: 187
您可以使用JSON.parse()将JSON字符串解析为对象,然后使用递归函数遍历该对象,查找并替换需要替换的内容。这里是一个简单的示例代码:
```javascript
function replaceJsonString(jsonString, oldStr, newStr) {
const obj = JSON.parse(jsonString);
replaceObject(obj, oldStr, newStr);
return JSON.stringify(obj);
}
function replaceObject(obj, oldStr, newStr) {
for (let key in obj) {
if (typeof obj[key] === 'object' && obj[key] !== null) {
replaceObject(obj[key], oldStr, newStr); // 递归处理子对象
} else if (typeof obj[key] === 'string') {
obj[key] = obj[key].replace(oldStr, newStr); // 替换字符串内容
}
}
}
```
使用方法:
```javascript
const jsonString = '{"name": "张三", "address": {"province": "广东省", "city": "深圳市"}, "hobbies": ["篮球", "游泳"]}';
const oldStr = '深圳市';
const newStr = '广州市';
const newJsonString = replaceJsonString(jsonString, oldStr, newStr);
console.log(newJsonString); // 输出: {"name":"张三","address":{"province":"广东省","city":"广州市"},"hobbies":["篮球","游泳"]}
```
注意:这里的代码只是一个简单的示例,不一定适用于所有的复杂JSON对象。根据实际需求,您可能需要进行适当的修改。
阅读全文