Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 基于给定的json创建映射_Java_Jakarta Ee - Fatal编程技术网

Java 基于给定的json创建映射

Java 基于给定的json创建映射,java,jakarta-ee,Java,Jakarta Ee,JSON { "type": { "type1": { "sub1": [ "sub1A": { } ] } } "type2": { "type1": { "sub1": [ "sub1A": { } ] } } } 我有这样的Json,我不知道如何为它创建映射,比如 Map<String, Object> requestMap = new Has

JSON

{
 "type": {
   "type1": {
     "sub1": [
        "sub1A": {
        }
     ]
   }
 }
"type2": {
   "type1": {
     "sub1": [
        "sub1A": {
        }
     ]
   }
 }
}

我有这样的Json,我不知道如何为它创建映射,比如

Map<String, Object> requestMap = new HashMap<>();
requestMap.get("type"); 
Map requestMap=newhashmap();
获取(“类型”);

再次在内部键入创建包含子数据的地图。

根据您共享的内容,您可以使用:

Map <String, Map<String, Map<String, Set<Map<String, String>>>>>
Map

或者要了解更多关于使用json对象的详细信息,您可以查看:

我没有完全理解您的问题。但是,根据您的语句,如果您试图将json数据提取到类中,并且json数据具有递归映射,即一个对象在其主体下包含自身。然后,我认为您不需要HashMap将这个json映射到您的类中。您可以将单个实体与自身类型的字段一起使用,例如employee manager relationship。e、 g

class Type {
  private Type type;
  private String otherField;
  // constructors, setters, getters
}

现在,您可以使用递归函数从类型中读取值。

使用JSON库解析JSON,它将返回一个映射(x5)的映射。--好吧,但它会失败,因为这不是有效的JSON。如果您将
[]
替换为
{}
,则此选项有效?它只有一个类型参数。你的有2个。编译错误!!!--显示的JSON是无效的,因此除了解析异常之外,它不会变成任何东西。有两件事,要么这不是有效的JSON,要么它只是他想要存储的对象,并将其命名为JSON。如果我们确定得到的是json,那么很明显,正如您所提到的,存在一个错误,最好的方法是使用JSONObject()。但如果第二种情况是真的,那么我所提到的(编辑)是正确的。