質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2806閲覧

AndroidアプリでJSONICを使用した、デコード、エンコード処理を実行するとExceptionエラーになってしまいます

hottan

総合スコア11

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2017/04/19 01:37

AndroidStudioにてAndroidアプリを制作しております。
JSONICを使用して下記の処理を実行すると、JSON.encode(hm);でExceptionエラーになり、printStackTraceでjsonicのライブラリが見つからない旨のメッセージが表示されます。
Exceptionエラーが発生せず、JSONICを使用したエンコード、デコードを実行する方法をご教授いただけないでしょうか。

try{ HashMap<String,Object> hm = new HashMap<>(); hm.put("001","いちご"); hm.put("002","にかん"); hm.put("003","みかん"); String json = JSON.encode(hm); }catch (Exception e){ e.printStackTrace(); return; }

e.printStackTrace();での出力結果

W/dalvikvm: Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lnet/arnx/jsonic/OptionalConverter;
W/System.err: java.util.MissingResourceException: Can't find resource for bundle 'net.arnx.jsonic.Messages_ja_JP', key ''
W/System.err: at java.util.ResourceBundle.missingResourceException(ResourceBundle.java:238)

ライブラリのファイル配置

app\src
app\libs
app\libs\jsonic-1.3.10-sources.jar
app\libs\jsonic-1.3.10.jar

build.gradle

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/jsonic-1.3.10.jar') compile files('libs/jsonic-1.3.10-sources.jar') }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

原因が判明したため、記載致します。

【原因】
ライブラリを重複して読み込もうとしていた。
そのため、下記のビルドエラーが出てしまい、

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK net/arnx/jsonic/Messages.properties

exclude 'net/arnx/jsonic/Messages.properties'と
exclude 'net/arnx/jsonic/Messages_ja.properties'をgradleに追加し、読み込まないようにしていました。
アプリで呼び出そうとすると、参照先がないため、エラーでアプリが落ちてしまっていたようです。

こちらの単純ミスも原因の一つにあり、お恥ずかしい限りですが、ご協力いただいた皆様ありがとうございました。

投稿2017/05/08 10:07

hottan

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問