javascript - 使用正则表达式键匹配 Javascript 循环遍历字符串获取键和值

标签 javascript json regex

我有一个字符串

> var temp =
> "meta(alias:!n,apply:!t,disabled:!f,index:'index_*',key:stockInfo.raw,negate:!f,value:green),"

引用一下,这个字符串是kibana自动生成的(我是通过url恢复的)

我的问题是: 有任何解决方案可以从此字符串中提取键和值并在数组或对象中获得结果,如下所示:

>  var result = { 
>                  "alias" : "!n",
>                  "apply" : "!t",
>                  "disabled" : "!f",
>                  "key": "stockInfo.raw",
>                  "negate": "!f",
>                  "value": "green",  
>               }

谢谢

最佳答案

我认为您正在搜索这样的内容:

var meta = "meta(alias:!n,apply:!t,disabled:!f,index:'index_*',key:stockInfo.raw,negate:!f,value:green),"

var result = {}

meta.substr(0, meta.length - 2).substr(5).split(',').forEach(function(item) {
  var split = item && item.split(':')
  if (split.length) {
    result[split[0]] = split[1];
  }
})

console.log(result)

将字符串按,字符拆分再按:拆分,识别对象的key和value

关于javascript - 使用正则表达式键匹配 Javascript 循环遍历字符串获取键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585604/

相关文章:

regex - Postgres asterisc 正则表达式量词不起作用

javascript - 声明 JS 变量时使用 "in"

java - 简单的 HTML 无法从 servlet (java) + mysql 获取 JSON

javascript - 如何对 Angular Directive(指令)进行单元测试

javascript - 通过 API 响应实现站点自动化

java - 为 Android 应用程序创建 Web 服务的最佳实践解决方案

javascript - 使用正则表达式与包含()方法和 Switch 语句

java - 正确匹配 Java 字符串文字

javascript - jQuery UI 可排序连接列表 - 获取更改状态

javascript - Uploadify 和闪存问题上传到远程服务器