微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有将 json 转换为对象的 java 11 本机方法?

如何解决是否有将 json 转换为对象的 java 11 本机方法?

这个问题:How to parse JSON in Java 有几个答案需要包括 3rd 方库,包括 GSON、org.json 和 Jackson。

我正在使用 Adob​​e AEM,这是出了名的不容忍包含 3rd 方库,因此我尝试使用标准 Java 11 进行 REST API 调用。Java 11 具有 HTTPClient 类,它将从响应中给我 JSON。

现在我需要将 Json 转换为所需的 java 对象。

例如我有一个带有 name 和 age 字段的 Person 类,并且想从 {"name":"bob","age":12}

之类的东西中获取 Person 对象

我还需要一些东西来将 Java 对象转换为 Json。

有什么建议吗?

在 java 7 中有一个叫做 JsonObject 的东西,但我找不到任何显示这种转换的例子。

解决方法

您可以使用 JavaEE 8 中引入的 JsonB

Jsonb jsonb = JsonbBuilder.create();
Person person = jsonb.fromJson(personString,Person.class);

如果您使用 maven,这里是要添加的依赖项

<!-- JSON-B API -->
<dependency>
  <groupId>javax.json.bind</groupId>
  <artifactId>javax.json.bind-api</artifactId>
  <version>1.0</version>
</dependency>

<!-- JSON-B RI -->
<dependency>
  <groupId>org.eclipse</groupId>
  <artifactId>yasson</artifactId>
  <version>1.0</version>
  <scope>runtime</scope>
</dependency>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。