我在 Android 中使用 Google Cloud Endpoints。
而这些库在 gradle
implementation 'com.google.api-client:google-api-client-android:1.23.0'
其中包括 Jackson2
。
我知道如何使用 jackson 从文件中写入和读取 JSON。但问题是我无法创建 ObjectMapper
它显示错误。
Can not resolve symbol
知道问题出在哪里吗?请不要让我再次添加 jackson
库,因为如果它已经在 Google 客户端库中,我为什么要添加这个?
最佳答案
尝试在您的 build.gradle 中直接导入 jackson! 目前他们在 v-2.9.5
implementation 'com.fasterxml.jackson.core:jackson-core:2.9.5'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.5'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.5'
无论如何你可以引用这个指南https://developers.google.com/api-client-library/java/google-api-java-client/setup .
阅读此文档,您似乎必须在 libs 文件夹中导入 jar 文件以防止 NoClassDefFoundError!
或者你可以在你的gradle中添加这个:
compile group: 'com.google.api-client', name: 'google-api-client-jackson2', version: '1.23.0'
官方文档: 安卓
如果您正在为 Android 开发,并且您要使用的 Google API 包含在 Google Play 服务库中,请使用 Google Play 服务库以获得最佳性能和体验。
如果您在 Android 中使用适用于 Java 的 Google API 客户端库,了解哪些依赖项与 Android 兼容非常重要,特别是了解哪个 Android SDK 级别。 Android 应用程序需要 libs 文件夹中的以下 jar 文件或更新的兼容版本:
google-api-client-1.23.0.jar
google-api-client-android-1.23.0.jar
google-oauth-client-1.23.0.jar
google-http-client-1.23.0.jar
google-http-client-android-1.23.0.jar
gson-2.1.jar
jackson-core-asl-1.9.11.jar
jackson-core-2.1.3.jar
jsr305-1.3.9.jar
protobuf-java-2.4.1.jar
警告:对于 Android,您必须将 .jar 文件放在名为“libs”的目录中,以便 APK 打包程序可以找到它们。否则,您将在运行时收到 NoClassDefFoundError 错误。
关于java - 在没有对象映射器的情况下将对象转换为 Jackson 中的 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835782/