タグ付けされた質問 「gson」

Gsonは、JSONとの間でJavaオブジェクトをシリアライズおよびデシリアライズするためのGoogleのオープンソースライブラリです。

30
Android Studio:ライブラリとしてjarを追加しますか?
新しいAndroid Studioを使用しようとしていますが、正しく動作していないようです。 JSONオブジェクトをシリアライズ/デシリアライズするためにGsonライブラリを使用しています。しかし、ライブラリはどういうわけかビルドに含まれていません。 MainActivityだけで新しいプロジェクトを作成しました。/ libsフォルダー内のgson-2.2.3.jarをコピーし、ライブラリ依存関係として追加しました(右クリック->ライブラリーとして追加)。これにはandroid studioのjarが含まれるため、ソースファイルから参照できます。 プロジェクトを実行しようとすると、コンパイルできないため、追加しました。 compile files('libs/gson-2.2.3.jar') de .gradleファイルの依存関係に。その後は正しくコンパイルされますが、アプリケーションを実行するとClassDefNotFoundException。 誰かが私が間違っていることを知っていますか?

13
Google Gson-list <class>オブジェクトをデシリアライズしますか?(ジェネリックタイプ)
Google Gsonを介してリストオブジェクトを転送したいのですが、ジェネリック型を逆シリアル化する方法がわかりません。 私は見ての後にしようとした何本(BalusCの答え): MyClass mc = new Gson().fromJson(result, new List&lt;MyClass&gt;(){}.getClass()); しかし、Eclipseで「type new List(){}は継承された抽象メソッドを実装する必要があります...」というエラーが発生し、クイックフィックスを使用すると、20を超えるメソッドスタブのモンスターが発生します。 私はもっ​​と簡単な解決策があると確信していますが、それを見つけることができないようです! 編集: 今私が持っています Type listType = new TypeToken&lt;List&lt;MyClass&gt;&gt;() { }.getType(); MyClass mc = new Gson().fromJson(result, listType); ただし、「fromJson」行で次の例外が発生します。 java.lang.NullPointerException at org.apache.harmony.luni.lang.reflect.ListOfTypes.length(ListOfTypes.java:47) at org.apache.harmony.luni.lang.reflect.ImplForType.toString(ImplForType.java:83) at java.lang.StringBuilder.append(StringBuilder.java:203) at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:56) at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88) at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:76) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:106) at com.google.gson.JsonDeserializationContextDefault.fromJsonArray(JsonDeserializationContextDefault.java:64) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:49) at …
441 java  json  generics  gson 

7
JSONでnullを表す
JSONでnull値を返すための推奨メソッドは何ですか?プリミティブの好みは異なりますか? たとえば、サーバー上のオブジェクトに "myCount"という名前の整数があり、値がない場合、その値の最も適切なJSONは次のようになります。 {} または { "myCount": null } または { "myCount": 0 } 文字列に対する同じ質問-サーバーにnull文字列「myString」がある場合、最高のJSONです。 {} または { "myString": null } または { "myString": "" } または(主が私を助けて) { "myString": "null" } コレクションがJSONで空のコレクションとして表されるための規約が好きですhttp://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html 空の配列が表されます: { "myArray": [] } 要約の編集 「個人的な好み」の議論は現実的であるように見えますが、近視眼的であり、コミュニティーとして、ますます多くの異なるサービス/ソースを消費することになります。JSON構造の規則は、上記のサービスの消費と再利用を正規化するのに役立ちます。標準を確立する限り、いくつかの例外を除いて、ほとんどのジャクソン規約を採用することをお勧めします。 オブジェクトはプリミティブよりも優先されます。 空のコレクションはnullよりも優先されます。 値のないオブジェクトはnullとして表されます。 プリミティブはその値を返します。 ほとんどがnull値のJSONオブジェクトを返す場合は、複数のサービスにリファクタリングする候補がある可能性があります。 { "value1": null, "value2": null, "text1": …
423 json  jackson  gson 

15
Gson:注釈なしでシリアライゼーションから特定のフィールドを除外する方法
OverаэтотвопросестьответынаStack Overflowнарусском:Исключитьполеприсериализацииилидесериализsonции 私はGsonを学習しようとしていますが、フィールドの除外に苦労しています。ここに私のクラスがあります public class Student { private Long id; private String firstName = "Philip"; private String middleName = "J."; private String initials = "P.F"; private String lastName = "Fry"; private Country country; private Country countryOfBirth; } public class Country { private Long id; private String name; private Object other; …
413 java  json  serialization  gson 

5
ジャクソン対。Gson [終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 JSONのいくつかの既存のライブラリーを検索した後、最終的に次の2つになりました。 ジャクソン Google GSon 私はGSONに少し不満ですが、ネットで言うと、GSonは特定の天体のパフォーマンスの問題(2009年9月現在)に悩まされています。 私は私の比較を続けています。その間、私は私の決心をするための助けを探しています。
363 java  json  comparison  gson  jackson 

9
Gson:文字列をJsonObjectに直接変換(POJOなし)
これを理解できないようです。GSONでJSONツリー操作を試みていますが、に変換する前に、文字列を変換するPOJOがわからない、または持っていない場合がありJsonObjectます。直接移動する方法があるStringにはJsonObject? 私は以下を試しました(Scala構文): val gson = (new GsonBuilder).create val a: JsonObject = gson.toJsonTree("""{ "a": "A", "b": true }""").getAsJsonObject val b: JsonObject = gson.fromJson("""{ "a": "A", "b": true }""", classOf[JsonObject]) しかしa失敗すると、JSONはエスケープされ、JsonString唯一として解析されb、空のを 返しますJsonObject。 何か案は?
300 java  json  gson 

9
GSONが「BEGIN_OBJECTが必要ですが、BEGIN_ARRAYでした」をスローしますか?
このようなJSON文字列を解析しようとしています [ { "updated_at":"2012-03-02 21:06:01", "fetched_at":"2012-03-02 21:28:37.728840", "description":null, "language":null, "title":"JOHN", "url":"http://rus.JOHN.JOHN/rss.php", "icon_url":null, "logo_url":null, "id":"4f4791da203d0c2d76000035", "modified":"2012-03-02 23:28:58.840076" }, { "updated_at":"2012-03-02 14:07:44", "fetched_at":"2012-03-02 21:28:37.033108", "description":null, "language":null, "title":"PETER", "url":"http://PETER.PETER.lv/rss.php", "icon_url":null, "logo_url":null, "id":"4f476f61203d0c2d89000253", "modified":"2012-03-02 23:28:57.928001" } ] オブジェクトのリストに。 List&lt;ChannelSearchEnum&gt; lcs = (List&lt;ChannelSearchEnum&gt;) new Gson().fromJson( jstring , ChannelSearchEnum.class); これが私が使っているオブジェクトクラスです。 import com.google.gson.annotations.SerializedName; public class ChannelSearchEnum { …
295 java  android  gson 

16
Gsonを使用してJSONをHashMapに変換するにはどうすればよいですか?
JSON形式でデータを返すサーバーからデータをリクエストしています。リクエストを作成するときにHashMapをJSONにキャストすることはまったく難しくありませんでしたが、他の方法は少しトリッキーなようです。JSON応答は次のようになります。 { "header" : { "alerts" : [ { "AlertID" : "2", "TSExpires" : null, "Target" : "1", "Text" : "woot", "Type" : "1" }, { "AlertID" : "3", "TSExpires" : null, "Target" : "1", "Text" : "woot", "Type" : "1" } ], "session" : "0bc8d0835f93ac3ebbf11560b2c5be9a" }, "result" : "4be26bc400d3c" …
286 java  json  dictionary  hashmap  gson 

12
JSONデータをJavaオブジェクトに変換する
Javaアクションメソッド内でJSON文字列からプロパティにアクセスできるようにしたい。文字列は、単にと言うだけで利用できますmyJsonString = object.getJson()。以下は、文字列の例です。 { 'title': 'ComputingandInformationsystems', 'id': 1, 'children': 'true', 'groups': [{ 'title': 'LeveloneCIS', 'id': 2, 'children': 'true', 'groups': [{ 'title': 'IntroToComputingandInternet', 'id': 3, 'children': 'false', 'groups': [] }] }] } この文字列では、すべてのJSONオブジェクトに他のJSONオブジェクトの配列が含まれています。その目的は、他のJSONオブジェクトを含むグループプロパティを持つ特定のオブジェクトのIDのリストを抽出することです。私は潜在的なJSONプラグインとしてGoogleのGsonを検討しました。このJSON文字列からJavaを生成する方法について、誰かが何らかのガイダンスを提供できますか?
262 java  json  jackson  gson 

7
Gson-Jsonから型指定されたArrayList <T>に変換する
Gsonライブラリを使用して、JSON文字列をArrayListカスタムクラスのにどのように変換しますJsonLogか?基本的にJsonLogは、私のAndroidアプリによって作成されたさまざまな種類のログ(SMSログ、通話ログ、データログ)によって実装されるインターフェースであり、これArrayListはそれらすべてのコレクションです。6行目でエラーが発生し続けます。 public static void log(File destination, JsonLog log) { Collection&lt;JsonLog&gt; logs = null; if (destination.exists()) { Gson gson = new Gson(); BufferedReader br = new BufferedReader(new FileReader(destination)); logs = gson.fromJson(br, ArrayList&lt;JsonLog&gt;.class); // line 6 // logs.add(log); // serialize "logs" again } } コンパイラーは、私が型付きを参照していることを理解していないようですArrayList。私は何をしますか?
211 java  android  json  gson 

8
GSON-日付形式
Gsonの出力でカスタム日付形式を使用しようとしていますが、.setDateFormat(DateFormat.FULL)動作しないようで、でも同じ.registerTypeAdapter(Date.class, new DateSerializer())です。 それは、Gsonがオブジェクト「Date」を気にせず、その方法で出力するようなものです。 どうすれば変更できますか? ありがとう 編集: @Entity public class AdviceSheet { public Date lastModif; [...] } public void method { Gson gson = new GsonBuilder().setDateFormat(DateFormat.LONG).create(); System.out.println(gson.toJson(adviceSheet); } 私はいつも使っていjava.util.Dateます。setDateFormat()動作しません:(
187 java  gson 

11
Gson for Javaを使用したJSON解析
タイプのJSONからのデータを解析したいと思いますString。Google Gsonを使用しています。 私が持っています: jsonLine = " { "data": { "translations": [ { "translatedText": "Hello world" } ] } } "; そして私のクラスは: public class JsonParsing{ public void parse(String jsonLine) { // there I would like to get String "Hello world" } }
154 java  json  gson 

4
GsonインスタンスをモデルBeanの静的フィールドとして使用しても問題ありませんか(再利用)。
これが私が実装したモデルです: public class LoginSession { private static final Gson gson = new Gson(); private String id; private String name; private long timestamp; public LoginSession(String id, String name) { this.id = id; this.name = name; this.timestamp = System.currentTimeMillis(); } public String toJson() { return gson.toJson(this); } public static LoginSession fromJson(String json) …

1
value = nullのマップエントリを無視するGson
Gson gson = new Gson(); Map&lt;String,Object&gt; map = new HashMap&lt;String, Object&gt;(); map.put("a", 1); map.put("b", null); System.out.println(gson.toJson(map)); //prints {"a":1} すべてのエントリを含めるにはどうすればよいですか?
132 java  json  gson 

10
Android Retrofitライブラリでクラスのコンバーターを作成できません
VolleyからRetrofitへの移行中に、JSONObject応答をgsonアノテーションを実装するオブジェクトに変換するために以前使用したgsonクラスをすでに持っています。レトロフィットを使用してhttp getリクエストを作成しようとしているが、アプリがこのエラーでクラッシュした場合 Unable to start activity ComponentInfo{com.lightbulb.pawesome/com.example.sample.retrofit.SampleActivity}: java.lang.IllegalArgumentException: Unable to create converter for class com.lightbulb.pawesome.model.Pet for method GitHubService.getResponse 後付けサイトのガイドに従って、これらの実装を思いつきました。 これは私がレトロなhttpリクエストを実行しようとしている私の活動です: public class SampleActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample); Retrofit retrofit = new Retrofit.Builder() .baseUrl("**sample base url here**") .build(); GitHubService service = retrofit.create(GitHubService.class); Call&lt;Pet&gt; callPet …
130 android  gson  retrofit 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.