繁体   English   中英

如何使用gson将树型json转换为Java对象

[英]How to convert the tree structured json to Java object using gson

 [
  {
    "sentence": "I want to buy shoes .", 
    "tree": {
      "ROOT": [
        {
          "index": 2, 
          "token": "want", 
          "label": "VERB", 
          "pos": "VBP", 
          "tree": {
            "nsubj": [
              {
                "index": 1, 
                "token": "I", 
                "label": "PRON", 
                "pos": "PRP"
              }
            ], 
            "xcomp": [
              {
                "index": 4, 
                "token": "buy", 
                "label": "VERB", 
                "pos": "VB", 
                "tree": {
                  "aux": [
                    {
                      "index": 3, 
                      "token": "to", 
                      "label": "PRT", 
                      "pos": "TO"
                    }
                  ], 
                  "dobj": [
                    {
                      "index": 5, 
                      "token": "shoes", 
                      "label": "NOUN", 
                      "pos": "NNS"
                    }
                  ]
                }
              }
            ], 
            "punct": [
              {
                "index": 6, 
                "token": ".", 
                "label": ".", 
                "pos": "."
              }
            ]
          }
        }
      ]
    }
  }
]

这是Json中表示的树。 但是嵌套节点的键不断变化。
例如“ ROOT,nsubj,xcomp”等。
如何使用gson将上述json代码转换为Java Object。

上面的响应来自我试图使用的syntaxnet Parsey_Mcparseface api。
提前致谢。

Gson有方法Gson#fromJson 例如,这是一个读取简单String对象的代码。

    Gson gson = new Gson();
    String str = gson.fromJson("\"hello\"", String.class);
    System.out.println("String: " + str);

您需要准备Java对象以读取建议的JSON。 但是,您不需要自己编写代码。 有一个网站提供自动JSON对象生成器。

jsonschema2pojo

输入以下项目:

  • 目标语言:Java
  • 源类型:JSON
  • 注释类型:Gson

然后输入您的班级名称,例如“ ParsedSentence”

然后,编写代码。 你会得到对象。

    Gson gson = new Gson();
    ParsedSentence parsed = gson.fromJson(longLongJsonString, ParsedSentence.class);

jsonschema2pojo屏幕截图

暂无
暂无

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

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