如何移除iframe字符串字段中双引号内的嵌套双引号?
移除JSON中iframe字段值的嵌套双引号方法
以下是几种实用的解决方式,根据数据量和场景选择:
1. 手动修改(适合少量数据)
直接定位到"iframe"字段行,删除字段值前后的嵌套双引号:
- 原内容:
"iframe": ""https:/www.youtube.com/embed/RzVvThhjAKw"" - 修改后:
"iframe": "https:/www.youtube.com/embed/RzVvThhjAKw"
2. 正则表达式批量替换(适合编辑器处理多份数据)
在支持正则的编辑器(如VS Code、Sublime Text)中使用查找替换:
- 查找内容:
"iframe": ""(.*?)"" - 替换内容:
"iframe": "$1" - 操作:打开查找替换面板(VS Code按
Ctrl+H),勾选「正则表达式」选项,输入内容后执行替换。
3. 代码批量处理(适合大量数据或自动化场景)
Python示例(处理含ObjectId的非标准JSON)
原内容包含MongoDB的ObjectId,不属于标准JSON,需先处理双引号再解析:
import re from bson import json_util # 原始内容字符串 raw_data = ''' { "Post": "this is a post", "_id": ObjectId("630f3c32c1a580642a9ff4a0"), "iframe": ""https:/www.youtube.com/embed/RzVvThhjAKw"", "slug": "this-is-a-title", "title": "This is a title" }''' # 精准替换iframe字段的嵌套双引号 fixed_data = re.sub(r'"iframe": ""(.*?)""', r'"iframe": "\1"', raw_data) # 解析为MongoDB兼容对象并格式化输出 parsed_data = json_util.loads(fixed_data) formatted_json = json_util.dumps(parsed_data, indent=4) print(formatted_json)
标准JSON场景(无ObjectId)
如果是标准JSON,可直接用json模块处理:
import json raw_data = '''{ "Post": "this is a post", "iframe": ""https:/www.youtube.com/embed/RzVvThhjAKw"", "slug": "this-is-a-title", "title": "This is a title" }''' # 替换嵌套双引号后解析 fixed_data = raw_data.replace('""', '"') parsed_data = json.loads(fixed_data) print(json.dumps(parsed_data, indent=4))
内容的提问来源于stack exchange,提问作者Tribe56123
相关产品推荐
相关产品推荐

