在 java 脚本中将无效的 JSON 字符串解析为 JSON2
Parsing invalid JSON string to JSON2 in java script
我有一个无效的json字符串,如下所示,我想将其转换为JSON。我想摆脱 eval()。JSON.parse() 抛出异常。还有其他方法可以做到这一点吗?
"{user:'C3DC5FF987ACB5C8CB7ADF9D774775FA', recover:[{client:'call',
call:{CTI_TELEPHONE_CALLED:'sip:217812@UKAvayatest.fnfis.com;user=phone',
CTI_CALLER_TELEPHONE:'0031205849948',
CTI_TIME_IN_QUEUE:'Created:10:59:48 03/08/15;Queued:11:00:42
03/08/15;Answered:11:00:46 03/08/15', CUSTOMER_NBR:'817',
SORTCODEACCTNO:'NO_VALUE', IDVS:'3', SKILL:'SBY SAV SE E Blocked Acct
D', CDN_NAME:'SBY SAV SE E Blocked Acct D',
CONTACT_ID:'ukbiataaep-2015141090031-5', TP_CALL_TYPE:'NO_VALUE',
TP_CALL_STATUS:'NO_VALUE'},
contactId:'ukbiataaep-2015086103648-14'},{end:'end'}]}"
这个无效的 JSON 违反的规则只是键名周围缺少引号(如 "name":
)和字符串文字周围使用单引号(如 'call'
)。要解决这些问题,您需要遍历此字符串,插入引号或替换单引号(同时跟踪您是否在字符串文本中)。对此的通用解决方案可能非常复杂,并且仅调用eval()
几乎没有好处。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 从查询字符串参数推断出正确的数据类型
- 在 java 脚本中将无效的 JSON 字符串解析为 JSON2
- 空值出现在字符串化的js对象(使用json2.js和FF)