前段时间做了一个前端mock静态数据系统,有这样的一个速求:

把所有非正规的json转换为正常的json(最大容忍限度)

经过博主的敲打最后封装成如下的函数,在此做次记录,也给有需要的人提供一个参考意见:

测试字符串:

{name:'zhang san',
}{‘name’:'zhang san',
}{‘name’:'zhs'a'ng san',
}{"name’:'zhs“a'ng san',
}{"na‘me’:'zhs“a'ng san',age':25
}{"na‘me’:zhs“a'ng san,age:'25
}{"na‘me’:'zhs“a"ng san',age: '2'5
}复制代码

ToJson函数

// 不和规范的json 转换成符合规范的JSONtoJson(json) {let copyJson = json;if (!copyJson) return;// 替换不正常的 { 号copyJson = copyJson.replace(/{/g, '{')// 替换不正常的 } 号copyJson = copyJson.replace(/}/g, '}')// 替换不正常的 : 号copyJson = copyJson.replace(/:/g, ':')// 去掉所有的空格copyJson = copyJson.replace(/s/g, '')// 替换所有的 引号copyJson = copyJson.replace(/['‘“’”]/g, '"')// 替换value值中的双引号copyJson = copyJson.replace(/"(?=([ws-_d.*u4E00-u9FA5uf900-ufa2d]+?))/g, '’')// 替换不正常的 , 号copyJson = copyJson.replace(/[,]/g, ',')// 替换 undefined 为字符串copyJson = copyJson.replace(/["']?undefined["']?/g, '"undefined"')// 替换所有}之前的,号copyJson = copyJson.replace(/,}/g, '}')try {// 若正常直接返回JSON.parse(copyJson);return copyJson;} catch (err) {// 不正常开始替换copyJson = copyJson.replace(/{"?([u4E00-u9FA5uf900-ufa2d'"dw_-]*?)"?:/g,($a,$b)=>{return `{"${$b}":`;}) copyJson = copyJson.replace(/,"?([u4E00-u9FA5uf900-ufa2d'"dw_-]*?)"?:/g,($a,$b)=>{return `,"${$b}":`;})return copyJson}};复制代码

以上函数仅供参考,希望对你有所帮助,若有更好的方案欢迎给我留言额。

关注我的博客:zane的个人博客

非JSON格式字符串转换为正规JSON字符串相关推荐

  1. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换

    python知识:json格式文本:异常处理:字符串处理:unicode类型和str类型转换 参考文章: (1)python知识:json格式文本:异常处理:字符串处理:unicode类型和str类型 ...

  2. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  3. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

    前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...

  4. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  5. python︱处理与使用json格式的数据(json/UltraJSON/Demjson)、pickle模块、yaml模块

    python种关于json有很多,simplejson,cjson,还有ujson(详细内容可见:http://blog.csdn.net/gzlaiyonghao/article/details/6 ...

  6. python的json格式输出_python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  7. JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例

    JavaScript 将字符串转换为数字 – JS 字符串转 Int 示例 "John Doe" -> String 'John Doe' -> String &quo ...

  8. hive 导出json格式 文件_hive支持json格式的数据

    Hive 支持完全 json 格式的数据  现有 json 格式的数据 test.txt ,如下 {"name":"zhang","age" ...

  9. python类型转换异常_python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换...

    python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...

最新文章

  1. 自行编译Vim for Windows,加入Python支持!
  2. OllyDbg 使用笔记 (十二)
  3. 3.Excel数据透视表
  4. 正则验证多个邮箱用分号隔开
  5. java-jdk各版本特性概述
  6. go kegg_KEGG分析及可视化
  7. java发送文本邮件_1、java实现发送纯文本邮件
  8. Ubuntu系统多屏幕时 触摸屏如何分屏定位
  9. 虚拟机vmware与本地磁盘共享方法
  10. IEC104起始地址
  11. PTA单链表 - 20. 单值化(去重)
  12. 单调队列————[USACO09MAR]向右看齐Look Up
  13. Unity与 SO 交互 ☀️| .so文件(动态链接库 ) 基础知识科普
  14. 22/02/17学习笔记
  15. Overleaf编译问题
  16. TMS320F28335入门(二)GPIO学习
  17. 米联客 ZYNQ/SOC 精品教程 S02-CH24 利用AXI VDMA 实现MT9V034摄像头采集
  18. Webinar预告: 字幕翻译质量控制
  19. 江苏省计算机二级考试基础知识,江苏省计算机二级考试基础知识部分
  20. 什么是WAAS增强系统

热门文章

  1. ChatGPT聊天软件开发
  2. web安全是什么?主要分为哪几部分?
  3. 汇编与接口技术课程总结1——汇编程序debug调试
  4. aes解密流程图_aes流程图
  5. 针对“PL2303HXA自2012已停产,请联系供货商”问题的解决办法
  6. 巨型冰山惊现格陵兰,好莱坞大片场景上演
  7. vivos5字体怎么变大_vivoz1字体放大 vivos5字体大小在哪里设置
  8. 安装MySQL遇到的问题
  9. Third season tenth episode,Rachel quit her job as a waitress
  10. 在IDEA中激活JRebel