問題タブ [gson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 解析する要素がjson文字列の要素である場合、gsonを使用してjsonを解析する最も簡単な方法は何ですか?
私はgsonを使用してjsonをJavaBeanに解析しています。私が使用しているAPIの場合、多くのjson結果には、jsonオブジェクトの最初のプロパティとしての結果が含まれています。「gsonの方法」は、ターゲット出力タイプに対して1つのプロパティを持つ同等のラッパーJavaオブジェクトを作成することのようですが、これにより、不要な使い捨てクラスが発生します。これを行うためのベストプラクティスの方法はありますか?
たとえば、解析するには:
{"profile":{"username":"nickstreet","first_name":"Nick","last_name":"Street"}}
私がしなければなりません:
もちろん、コンテナを使用する別のアプローチは、標準の文字列解析手法を使用して文字列の外側部分を手動で削除する(つまり、「プロファイル」:{と閉じる}を削除する)ことですが、これは間違ったアプローチのように感じます。
私は次のようなことができるようになりたいです:
この問題は、json文字列をjsonオブジェクトに分割し、このオブジェクトからjsonElementを引き出して、json.fromJson()に渡すことができるはずであることを示しています。ただし、toJsonElement()メソッドはJavaオブジェクトでのみ機能し、json文字列では機能しません。
誰かがより良いアプローチを持っていますか?
android - AndroidアプリケーションのJsonとGson
JSONとGSONの違いについての情報を入手できますか?特にJSONを探しているときに、GSONという単語をいくつかの場所で読んだことがあります。
両者の明確な違いはわかりません。
もう一つは言葉です。JSON構文解析に関連する「マーシャリング」と「アンマーシャリング」は、実際には何であるか疑問に思います。
android - JSonOutOfMemmoryErrorのGson
Base64形式で画像を返すWebサービスがあります。Fiddlerが言うように、ボディレスポンスのContent-Length:383143があります。
応答は次のようになります:{...2つの文字列...および...ImageBase64 ":" iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAAAXNSR0IArs4c .....}
Webサービスにデータを要求し、文字列形式で受け取ります。私が次のことを試してみると:
しばらく時間がかかり、次のエラーが発生します。
画像が複雑でない場合は正常に機能し、画像が複雑な場合はメモリ不足エラーが発生します。何か案は ?お時間をいただきありがとうございます。
android - Androidで単純な文字列JSonを解析します
私は次のコードを持っています:
応答は次のようになります:"iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA..."約400.000文字のBase64エンコード画像。
応答はWebサービスから非常に迅速に行われます。しばらくして(20〜30秒など)Gsonで解析しようとすると、メモリ不足でエラーが発生します。Gsonなしでこの単純な文字列を解析するにはどうすればよいですか。かなり単純なはずですが、その方法がわかりません。教えてください。お時間をいただきありがとうございます
javascript - GSON経由のマップを使用したjsonからjavapojoへ
私のjavapojoは次のようになります
私はgsonライブラリを使用していますが、json stringnと、それが作成されたオブジェクトがどのようなものかわかりません。2つの文字列とオブジェクトの配列を含むjavascriptオブジェクトでjsonstringifyを使用しています。擬似コードを参照してください。
そしてJavaでは私は次のものを使用しています:
ありがたいことにどんな助けも受けました。乾杯 !
java - Gson ライブラリで使用するクラスの作成
Gson を使用して、Web サイトから json ファイルを解析しています。私はJavaが初めてで、これを行うべき正しい方法を見つけたいと思っています。
すべて正常に動作していますが、いくつか質問があります。私は制御できない Web サイトからこれらの Json ファイルを取得しているため、json ファイルの値の一部が null になっています。これらを扱う適切な方法は何ですか?クラスから値を取得し、目的の型に変更する get メソッドがあります。
isp_ornd = "104% かそれに近い"
bsp_ornd = 上記のとおり。
win_time = "2分35秒990"
私が言ったように、問題はありません。これを行うためにGsonとJavaを使用する正しい方法を見つけたいだけです。
}
java - GSONはオブジェクトのリストを埋めません
私はいくつかの解決策を試しましたが、GSONでJSONを解析した結果は常に間違っています。
私は次のJSONを持っています:
私のJavaプロジェクトには、次の構造があります。
と
そして、逆シリアル化するために私がすることは次のとおりです。
最後に、要素が1つだけで、値が間違っているリストが表示されます。私が間違っていることを私に言い聞かせてもらえますか?
ありがとう。
java - Java: アプレットで Gson を使用すると SecurityException が発生する
Java アプレットで Google Gson を使用しようとしていますが、使用すると
スレッド「Thread-19」の例外 java.security.AccessControlException: java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) で java.security.AccessController.checkPermission(( AccessController.java:546) で java.lang.SecurityManager.checkPermission(SecurityManager.java:532) で java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:74) で com.google.gson.MappedObjectConstructor.getNoArgsConstructor(MappedObjectConstructor) .java:85) com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:62) で com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) で com.google.gson.JsonObjectDeserializationVisitor.com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) の constructTarget(JsonObjectDeserializationVisitor.java:40) com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) の com.google.gson.JsonDeserializationContextDefault .fromJsonObject(JsonDeserializationContextDefault.java:73) com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) com.google.gson.Gson.fromJson(Gson.java:495) com.google.gson. com.google.gson.Gson.fromJson(Gson.java:396) の Gson.fromJson(Gson.java:444) org.jblux.client の com.google.gson.Gson.fromJson(Gson.java:372) .network.GsonParser$1.run(GsonParser.java:32) at java.security.AccessController.doPrivileged(Native Method) at org.jblux.client.network.org.jblux.client.network.PlayerDataFactory.getDataFromBase64(PlayerDataFactory.java:36) の GsonParser.parseJson(GsonParser.java:36) org.jblux.client.states.MainMenuState.update(MainMenuState.java:155) の Java .util.Observable.notifyObservers(Observable.java:142) org.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236) ) org.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252) で org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218) でorg.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) の util.Observable.notifyObservers(Observable.java:142) org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236) のorg.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252) で org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218) でorg.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) の util.Observable.notifyObservers(Observable.java:142) org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236) のorg.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252) で org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218) で
ここで見つけた他の2つの関連する質問がありました。
アプレットで GSON ライブラリを使用すると、Google App Engine 上の GSON が Security Exception
Reflection Permission の問題をスローする
しかし、どちらも私には答えがありませんでした。Gsonを使用しないと言われました。
自分のアプレットに Reflection のアクセス許可を与える方法はありますか?
更新: アプレットを機能させる方法がわからなかったため、JNLP ファイルと Java Web Start を使用するようにアプリケーションを切り替えているところです。誰かがそれを理解する場合に備えて、この質問を開いたままにしますが、Gson をあきらめたくない場合は、JNLP を使用することが唯一の選択肢かもしれません。
android - MSWCF互換形式の日付フィールドのgsonシリアル化
POSTメソッドでWebサービスにアクセスします。サーバーにjsonシリアル化オブジェクトを送信する必要があります。私のAndroidクラスには、いくつかの文字列フィールドと日付フィールドがあります。この日付フィールドは次のようにシリアル化されます。
しかし、Webサービスと互換性を持たせるには、次のようにする必要があります。
ここで逆シリアル化に関する興味深い記事を見つけました:http://benjii.me/2010/04/deserializing-json-in-android-using-gson/私はこのようなことをする必要があると思います。手伝ってくれませんか。
java - google-gsonが読み取るJSONの構造は何ですか
次のJSONを考えると、値ResultSet
を運ぶインスタンスをどのように作成できるのでしょうか。Query
ppb
現在、これが私が得るものです:
文字列を変更せずに、正しいJavaオブジェクトを取得するにはどうすればよいですか?