Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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
Java中HashMap的字符串_Java_Dictionary_Hashmap - Fatal编程技术网

Java中HashMap的字符串

Java中HashMap的字符串,java,dictionary,hashmap,Java,Dictionary,Hashmap,字符串如下所示: {"toGroup":"aaa@gmail.com, bbb@gmail.com", "ccGroup":"ccc@gmail.com, ddd@gmail.com"} 由于值中有逗号,我不能简单地用逗号分割它。那么,如何从这个字符串生成HashMap呢 这看起来像是一个有效的JSON对象。使用一些JSON解析库将其解析为您喜欢的数据结构。有几种可能性: 对于给定的输入,这将起作用: String input = "{\"toGroup\":\"aaa@gmail.co

字符串如下所示:

{"toGroup":"aaa@gmail.com, bbb@gmail.com", "ccGroup":"ccc@gmail.com, ddd@gmail.com"}

由于值中有逗号,我不能简单地用逗号分割它。那么,如何从这个字符串生成HashMap呢

这看起来像是一个有效的JSON对象。使用一些JSON解析库将其解析为您喜欢的数据结构。有几种可能性:


对于给定的输入,这将起作用:

String input = "{\"toGroup\":\"aaa@gmail.com, bbb@gmail.com\", \"ccGroup\":\"ccc@gmail.com, ddd@gmail.com\"}";

Pattern pattern = Pattern.compile("\"([^\"]+)\":\"([^\"]+)\"");
Matcher matcher = pattern.matcher(input);

Map<String, String> map = new HashMap<>();
while (matcher.find()) {
    String key = matcher.group(1);
    String value = matcher.group(2);
    map.put(key, value);
}

System.out.println(map);
String input=“{\”toGroup\:\”aaa@gmail.com, bbb@gmail.com\“,\“ccGroup\”:\”ccc@gmail.com, ddd@gmail.com\"}";
Pattern=Pattern.compile(“\”([^\“]+)\”:\”([^\“]+)\”);
Matcher Matcher=pattern.Matcher(输入);
Map Map=newhashmap();
while(matcher.find()){
字符串键=matcher.group(1);
字符串值=matcher.group(2);
map.put(键、值);
}
系统输出打印项次(map);
如果您有其他输入,这种方法可能会中断, 也许你可以将其调整到想要的效果