2012-01-24 12 views
0

net.sf.json.JSONArrayとnet.sf.json.JSONObjectで利用可能なjson変換メソッドのいくつかを使用しようとしていますが、オブジェクトは(Androids)org.json.JSONArrayおよびorg.json.JSONObjectオブジェクトと互換性がありません。基本的に私が探しているのは、有効なJSON StringをArraysのようなJavaオブジェクトに変換する効率的で簡単な方法です。 net.sf.jsonパッケージオブジェクトは、このような変換メソッドを持つように見えます。net.sf.json.JSONArrayはorg.json.JSONArrayと互換性があります

私の質問は - net.sf.json.JSONArrayはorg.json.JSONArrayと互換性があり、そうならば、これらのオブジェクトがどのように使用することができますか?あるものから他のものへキャストしようとすると、私はどこにもいません。

JSONArray jsonArray = new JSONArray(); 
jsonArray = orgJSONArray; 
jsonArray = (JSONArray)orgJSONArray; 

私は、Java Arrayオブジェクトに有効なJSON文字列を変換するための最良かつ最も効率的な方法は何かのAndroidの領域で、org.jsonオブジェクトとnet.sf.json使用できない場合。

+0

私の知る限り、それは動作するはずです...あなたのプロジェクトのlibと変更import文にnet.sf.jsonにそれらのLIBSをコピーします。 – kosa

+0

はこれをしようとすぐに下側は、あなたがそれらがorg.jsonから生成されたオブジェクトにバインドされているので、すべてのAndroid JSONオブジェクトと関連する機能を放棄する必要があるように思われます。 –

+0

はい、これらのライブラリのいずれか1つしか使用できません。 – kosa

答えて

0

net.sf.json.JSONObjectは、一方が他方のサブクラスでない限り、org.json.JSONObjectと "互換"ではありません。 2つのクラスが単語ごとに同一の定義を持つ場合であっても、異なるパッケージ名は完全に異なるクラスと互換性のないクラスになります。

+0

私は理解しています.......それは挑戦です。どのように彼らのスーパークラスとしてorg.json.JSONObjectとorg.json.JSONArrayでカスタムオブジェクトとしてnet.sf.jsonオブジェクトを使用してはどうですか? –

+0

@StephenBennett - そして、あなたはnet.sf.jsonを編集して再コンパイルする必要があると思います。 –

関連する問題