移除JSON对象数组中多余引号的正则表达式方案求助
解决方案
正则替换方案
针对objects字段数组被额外引号包裹的问题,可通过精准正则替换修复:
搜索正则
"objects":"(\[.*?\])"
替换字符串
"objects":$1
说明
- 搜索正则精准匹配
"objects":"[数组内容]"结构,(\[.*?\])作为捕获组,专门抓取方括号包裹的数组本身(含方括号) - 替换时用
$1引用捕获到的数组内容,直接移除外层多余引号,保留数组的正确格式
在LabVIEW中,使用「正则表达式替换字符串」VI,按上述填写搜索/替换模式,开启全局匹配(若存在多个objects字段)即可完成修复。
更优的LabVIEW原生解决方案
手动处理字符串易引发潜在问题(比如数组含转义字符时正则失效),更可靠的方式是用LabVIEW内置JSON生成功能:
- 构建正确的数据结构:
- 创建外层簇,包含
contentType(字符串,值为"application/json")和content(子簇) content子簇包含三个元素:msgType(数值,值为2)、objects(字符串数组,元素为"cat","dog","bird")、count(数值,值为3)
- 创建外层簇,包含
- 使用「平化至JSON」VI,将外层簇作为输入,直接生成符合规范的JSON。
这种方式会自动处理数组、字符串的格式转换,从根源避免额外引号问题,比手动正则更稳定。
内容的提问来源于stack exchange,提问作者skyrimpacman
相关产品推荐
相关产品推荐

