当前位置: 首页 > news >正文

最近写React,需要转JSON,单引号和双引号问题

JSON.parse()不能转换单引号,这一点很崩溃,最开始选择用正则表达式,因为输出的数据里面的单引号需要保留,所以只能打补丁式的转:

          let fixed = genChart// 1. 修复键名的单引号:'key': -> "key":.replace(/'([a-zA-Z0-9_]+)':/g, '"$1":')// 2. 修复字符串值的单引号:: 'value' -> : "value".replace(/:\s*'([^']*)'/g, ':"$1"')// 3. 修复没有引号的键名:key: -> "key":.replace(/([{,])\s*([a-zA-Z0-9_]+)\s*:/g, '$1"$2":');console.log("fixed:", fixed);setOptions(JSON.parse(fixed));

后面发现不行,我的数据里面还会有数组,['','']这种格式它不会转!打补丁不可行,后面还会有很多问题。不过还是将正则表达式改了:

            let fixed = genChart// 1. Quote unquoted keys first (e.g. key: -> "key":).replace(/([{,])\s*([a-zA-Z0-9_]+)\s*:/g, '$1"$2":')// 2. Safely replace single quotes with double quotes anywhere they enclose a value or key.replace(/'([^'\\]*(\\.[^'\\]*)*)'/g, '"$1"');console.log("fixed:", fixed);setOptions(JSON.parse(fixed));

问了一下AI,AI说用JSON5。。。JSON5支持单引号格式转换。

import JSON5 from 'json5';
let fixed = genChart;
console.log("fixed:", fixed);
setOptions(JSON5.parse(fixed));
http://www.jsqmd.com/news/1235687/

相关文章:

  • 鸿蒙 ArkTS 实战:Print Copy Booking 从打印复印预约到打印服务应用完整解析
  • 天气丹七件套贴牌定制,别被低价样品骗了,车间主任教你验货避坑
  • 如何快速批量修复图片:IOPaint AI修复工具完全指南
  • 技术拆解:REFramework如何精准修复《街霸6》在线对战状态同步异常
  • FakeGit供应链攻击实战排查:GitHub恶意仓库检测、MCP安全加固与开发者防御SOP
  • 3步快速部署BirdNET-Go:从安装到使用的完整指南
  • Delicate任务监控:实时可视化监控分布式任务执行的完整解决方案
  • 合扬奢品黄金回收昆明,实时大盘价不扣损耗,全城 24 小时在线估价 - 生活商业速报
  • 深入解析TI DCAN控制器:架构、初始化与实战调试指南
  • 鸿蒙 ArkTS 实战:Community Class Booking 从社区团课预约到生活服务工具完整解析
  • GitHub 热门项目深度解析:MemPalace 如何重新定义人机协作的未来
  • 智能工厂申报必读:四级梯度,逐级攀登,一步都不能跳!
  • WinForm应用实战开发指南 - 如何用DevExpress实现表格列表内容分组展示?
  • 「盘点」开发工具PyCharm全新升级的新UI(一)
  • Java常用 Date 时间格式化、Calender日历、正则表达式的用法
  • 自动驾驶核心算法盘点|目标跟踪与轨迹预测篇
  • ROS2 Navigation2:构建工业级机器人导航系统的3层架构设计哲学
  • ASP.NET MVC角色管理实战:从入门到高级应用
  • Symbolica高级技巧:10个提升表达式处理效率的实用方法
  • 煊荣科技,电信增值业务的下半场——从流量红利到存量博弈 - 界川
  • 深度解析 CopilotKit:构建你自己的 AI 原生应用基础设施
  • 专精特新中小企业复审认定标准是怎样的?专精特新复核注意事项
  • 纹渊 HarmonyOS 7 工程实战(14):AI 生成图回填到 3D 材质的异步链路
  • 北京百达翡丽官方售后服务中心|官方售后电话及地址权威公告(2026年7月最新) - 百达翡丽售后服务官网
  • 天气丹同源原料供应内幕:B端进货老板必看的工艺公差与验货底牌
  • 如何用超星学习通签到工具3步告别签到烦恼?
  • efaqa-corpus-zh vs 原始语料库:哪个更适合你的LLM微调项目?终极对比指南
  • 国产化落地避坑 · 干货向|Oracle 迁金仓 KES,我把外连接消除排在隐性陷阱第一位
  • 云南野生菌科普与销售系统
  • 深入解析USB控制器寄存器:从FIFO配置到端点控制实战