如何在Java中创建复杂的json对象?

pixelworlds:

我正在尝试在Java中创建此json对象,并且遇到了麻烦:

{
    "notification": {
        "message": "test",
        "sound": "sounds/alarmsound.wav",
        "target": {
            "apps": [
                {
                    "id": "app_id",
                    "platforms": [
                        "ios"
                    ]
                }
            ]
        }
    },
    "access_token": "access_token"
}

有人会在Java中创建它的任何帮助将不胜感激!

fge:

如果您真的想创建 JSON对象,Jackson可以满足您的所有要求:

final JsonNodeFactory factory = JsonNodeFactory.instance;

final ObjectNode node = factory.objectNode();

final ObjectNode child = factory.objectNode(); // the child

child.put("message", "test");

// etc etc

// and then:

node.set("notification", child); // node.put(String, ObjectNode) has been deprecated

结果node是一个ObjectNode,它继承了JsonNode,这意味着您可以获得的所有JsonNode优点:

  • 明智的.toString()代表;
  • 导航功能(.get().path()-GSON没有与此等效的功能,特别是没有.path(),因为它无法为丢失的节点建模);
  • MissingNode代表不存在的节点,并NullNode代表JSON空值,所有这些都继承JsonNode(GSON没有与此等效的东西-并且所有JsonNode的导航方法在此类节点上可用);
  • 当然.equals()/ .hashCode()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章