首页 > 解决方案 > 如何从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)*}/);

我可以使用什么解决方案?提前致谢:)

标签: javascriptregex

解决方案


对于日志语言环境:

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);

推荐阅读