繁体   English   中英

如何从 map 列表的字符串中检索值

[英]How can I retrieve value from a string of list of map

我有一些要求,比如我需要从 map 获取值,实际上格式如下:

"{xyz=True, abc=asd-1123, uvw=null}"

从字符串中的 map 获取值。

我尝试使用JSON.parse("{xyz=True, abc=asd-1123, uvw=null}")并尝试使用var map = new Map(JSON.parse("{xyz=True, abc=asd-1123, uvw=null}"))

但无论如何它都不起作用

好的开始,json.parse 不起作用,因为它不是有效的 json。 您将需要自己进行解析。 因此,假设一切都在该方法中始终如一,您应该首先剥离花括号,然后分解您的值并从这些值创建您的 map。

举个例子:

let map = new Map(); // or create an object: {}, because you can get values using Object.values(yourObject)
let mapStr = "{xyz=True, abc=asd-1123, uvw=null}".slice(1, -1);
let kvp = mapStr.split(', ');
for(let i = 0; i < kvp.length; i++) {
   let splitVal = kvp[i].split(=);
   map.set(splitVal[0], splitVal[1]);
}

然后您可以使用您创建的 map object。

考虑到这假设您的所有键值对都没有“=”符号。 您还可以进一步研究正则表达式以生成您的地图。 无论哪种方式,除非已经存在一个为您执行此操作的库,否则您需要进行映射:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM