Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何基于键中的字符串获取json字符串的键和值_Json_Ecmascript 6_Ecmascript 5_Javassist - Fatal编程技术网

如何基于键中的字符串获取json字符串的键和值

如何基于键中的字符串获取json字符串的键和值,json,ecmascript-6,ecmascript-5,javassist,Json,Ecmascript 6,Ecmascript 5,Javassist,我有一个JSON文件,如下所示: { "rooms":{ "operatorLimbo":[ ], "pager":[ "w0vu9ourxkdpkf0vwosrim", "mekkgn9e9kdpwf2rzpkf41", "upkicevngkd5s2h8o01wyz", "x29ywtag4kfs0m

我有一个JSON文件,如下所示:

{
"rooms":{
  "operatorLimbo":[
     
  ],
  "pager":[
     "w0vu9ourxkdpkf0vwosrim",
     "mekkgn9e9kdpwf2rzpkf41",
     "upkicevngkd5s2h8o01wyz",
     "x29ywtag4kfs0mylq2rd4v"
  ],
  "ru_pagers":[
     "mekkgn9e9kdpwf2rzpkf41"
  ],
  "ch_pagers":[
     "upkicevngkd5s2h8o01wyz"
  ],
  "operators":[
     "r9agylhvekcoibhrk8db8c",
     "p94jb2ocyk5hv0ch8tivk5",
     "v7cxhqxa3kdgik1h4t1sx0",
     "spuvkm9nnketwnqeelqzbf"
  ],
  "pl_operators":[
     "spuvkm9nnketwnqeelqzbf"
  ],
  "clients":[
     "g99g943hlkh0kp1864rwpz",
     "prky4witjkh0naaswiewzs"
  ],
  "pl_users":[
     
  ],
  "ru_operators":[
     "r9agylhvekcoibhrk8db8c"
  ],
  "ch_operators":[
     "v7cxhqxa3kdgik1h4t1sx0"
  ],
  "nl_operators":[
     "p94jb2ocyk5hv0ch8tivk5"
  ],
  "nl_pagers":[
     "w0vu9ourxkdpkf0vwosrim"
  ],
  "ch_users":[
     "prky4witjkh0naaswiewzs"
  ],
  "nl_users":[
     "g99g943hlkh0kp1864rwpz"
  ],
  "pl_pagers":[
     "x29ywtag4kfs0mylq2rd4v"
  ],
  "ru_users":[
     
  ],
  "us_operators":[
     
  ],
  "au_operators":[
     
  ],
  "au_users":[
     
  ],
  "au_pagers":[
     
  ],
  "za_operators":[
     
  ],
  "yoiqfvvvokh0kp2v53sic9":{
     "roomid":"yoiqfvvvokh0kp2v53sic9",
     "type":"1to1",
     "ujid":"g99g943hlkh0kp1864rwpz",
     "aid":"3173aaacd43941c7bef1a99e0057ba2b",
     "operator":{
        "fullname":"Operator",
        "name":"Operator",
        "lastname":"Jura"
     },
     "members":[
        "Ss0G3RCClvOO8I03AAIp",
        "jZGZ_yAb-SC3bEpmAAJz"
     ],
     "chatRecord":11151,
     "ojid":"p94jb2ocyk5hv0ch8tivk5",
     "usid":"jZGZ_yAb-SC3bEpmAAJz"
  },
  "deomjtr27kh0l52ogg9zxh":{
     "roomid":"deomjtr27kh0l52ogg9zxh",
     "type":"1to1",
     "ujid":"prky4witjkh0naaswiewzs",
     "aid":"3173aaacd43941c7bef1a99e0057ba2b",
     "operator":{
        "fullname":"Operator",
        "name":"Operator",
        "lastname":"Jura"
     },
     "members":[
        "DPeOVb1P6qCVXO6GAAJi",
        "AAkb84mpMxLzFHklAAJ7"
     ],
     "chatRecord":11153,
     "ojid":"v7cxhqxa3kdgik1h4t1sx0",
     "usid":"AAkb84mpMxLzFHklAAJ7"
  }
  }
}
我感兴趣的是得到像Chu运算符和pl运算符之类的值,基本上所有包含_运算符的条目,以及它的值

使用下面的代码,我可以只获得键,如何获得值

Object.keys(this.rooms).filter((key) => key.includes("_operators"))

任何帮助都将不胜感激。

您可以使用、
.filter
和的组合来创建具有选定属性的新对象:

Object.fromEntries(
Object.entries(this.rooms).filter(([key])=>key.includes(“\u运算符”))
)

Object.entries
返回一个同时包含键和值的数组(如“tuple”),并且
Object.fromEntries
从这样的数组中构建一个新对象。

预期的结果是什么?只有那些键的对象?一个值数组?结果应该是这样的:“pl_运算符”:[“spuvkm9nnketwnqeelqzbf”],“ru_运算符”:[“r9agylhvekcoikcoibhrk8db8c”],“ch_运算符”:[“v7cxhqxa3kdgik1h4t1sx0”],以及所有包含字符串_运算符的内容