1

まず、私は GSON の初心者なので、ご容赦ください。

この URL から JSON を読み込もうとしました:

https://gdata.youtube.com/feeds/api/videos?author=radityadika&v=2&alt=jsonc

「id」、「data」、「uploader」などの文字列変数の読み取りに成功しました。

contentしかし、どうすれば(中)を読むことができitemsますか?RTSP リンク ( ) を取得したいのですcontent:1が、次のように変数に番号を付けることができないため、Java キープでエラーが発生します。

String 1 = "asd";

どんな助けでも大歓迎です、あなたの助けに感謝します

4

4 に答える 4

6

古いものですが、まだ必要としている人がいるかもしれません...

名前が Integer のプロパティをシリアル化するには、モデル クラスを次のようにします。

ジョンソン:

{
  "name": "foo",
  "1": "value one",
  "2": "value two",
  "3": "value three"
}

ジャワ:

import com.google.gson.annotations.SerializedName;

public class Foo {

   private String name;

   @SerializedName("1")
   private String one;

   @SerializedName("2")
   private String two;

   @SerializedName("3")
   private String three;

   // standard getter & setters bellow...

}
于 2018-08-11T10:41:58.633 に答える
4

JSON オブジェクトは次のようになりcontentます。

"content": {
    "1": "someLink",
    "5": "someOtherLink",
    ...
}

その JSON オブジェクトを解析する最善の方法はMap(マップのドキュメントItemを参照) として使用することです。そのため、次のようにクラスに属性を追加するだけで済みます。

private Map<Integer, String> content;

基本的に Map は のペアを含むオブジェクトです。このkey - value場合、キーはIntegerで、値はStringです。

したがって、取得する値のキーを探してリンクにアクセスできます。最初のリンクの場合は、次のとおりです。

String someLink = content.get(new Integer(1));

このようにすると、リンクに異なる番号を付けることができることに注意してください。これで、1、5、および 6 になりました。しかし、任意の整数と任意の数のリンクを持つことができます...

于 2013-09-26T13:08:42.957 に答える