[英]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.