javascript - 如何从javascript中的字符串中提取json
问题描述
我需要从如下所示的特定字符串中提取 json:
'loglocale=
{
"seed": "pqr",
"pageHashCode": "xxx",
"timestamp": 1553589859880,
"channel": "mobile",
"serviceVersion": "1.0",
"language": "en-CHN"
}
; regStatus=xx; s_dslv=34; s_fid=65-64748; s_vn=64678%26vn%3D1',
groups: undefined ]
我试过这个,但无法提取它。
var regex=cookies.match(/{"seed":(\w|\W)*"channel":(\w|\W)*}/);
我可以使用什么解决方案?提前致谢:)
解决方案
对于日志语言环境:
let dataJSON = `
'loglocale=
{
"seed": "pqr",
"pageHashCode": "xxx",
"timestamp": 1553589859880,
"channel": "mobile",
"serviceVersion": "1.0",
"language": "en-CHN"
}
; regStatus=xx; s_dslv=34; s_fid=65-64748; s_vn=64678%26vn%3D1',
groups: undefined ]`
然后:
let string = dataJSON.substring(
dataJSON.indexOf("loglocale=") + 10,
dataJSON.lastIndexOf("; regStatus")
)
JSON.parse(string);
推荐阅读
- javascript - Javascript 功能组合/排序
- arrays - 切片numpy arrayx时形状改变
- webstorm - 修复 ESLint:在 WebStorm 上插入 `·`(prettier/prettier)
- abap - 将 X 添加到内部表的第一行
- python-3.x - 从 python 模块运行脚本
- expression - 我想要这个查询的不同答案
- facebook - 是否可以通过 Facebook Messenger Platform 使用标题丰富来验证用户身份?
- angular - openFullscreen() 第二次调用时抛出错误
- php - 无法使用 PHP 连接到 ms 数据库
- flutter - 我想在构建之前获得一个固定宽度的小部件高度