2016-11-08 5 views
1

私はPHPのバックグラウンドからJavaを使用していますが、JSONからオブジェクトへの変換が非常に制限されていることに驚いています。すべてのJacksonチュートリアルI came acrossでは、読み込むオブジェクトをあらかじめ定義する必要があるようです。したがって、私のデータがJSON API形式であれば、データ部分以外のすべてを取り除き、何らかの形ですべての文字列をオブジェクトに変換する必要があります。Java `json_decode`(PHP)と同等のもの

私は本当にPHPのjson_decodefunctionが不足しています。これはJSONを読み込み、再生するPHPオブジェクトを提供します。また、オブジェクトに必要な構造を構築し、必要に応じて配列やサブオブジェクトを追加します。もちろん、私はJavaがコンパイルされた言語だと理解していますが、これをどう簡単にすることができるのだろうかと思います。

+1

正しくお分かりいただける場合は、[google-gson](https://github.com/google/gson)をご確認ください。 –

+1

@ S.I。はい、これはまさに私が探していたものです!クラスを定義することなく、その場でオブジェクトを作成することは非常に便利です! – dotslash

答えて

2

強く型付けされた言語として、Javaはしばしば「ちょうど私に与えてください」型の機能性を持っていませんが、それらが存在しないというわけではありません。 Jacksonでも、ドメインオブジェクトの代わりにMapsListsを与えて、事前定義されたスキーマなしでJSONを逆シリアル化できます。

「本当の」プロジェクトに取り組んでいる場合は、スキーマの定義から多くの利点があります。彼らはあなたを悩ますために発明されたのではなく、あなたのデータが正しい形式であることを信じることができるようにする(またはそうでない場合は早期に見つけ出す)ようにしました。

+1

はい、そこには知恵のすばらしい言葉があります。私は今のところ素早く汚いプログラムにもっと興味がありますが、スキーマを持つこのレベルでさえもいいことが分かります。 – dotslash

+0

確かに、時には、物事を終わらせ、時には細かいことがうまくいけば、正しく仕上げたいと思うこともあります。 – Kayaman

+0

ええ、私はクラス定義のために10〜20余分な行を入力すると傷ついてはいけないと思います。 :-) – dotslash