【问题标题】:Valid JSON still getting parse error有效的 JSON 仍然出现解析错误
【发布时间】:2015-05-18 16:16:45
【问题描述】:

我的 JSON 是:

[
    {
        "name": "Gears Live Wallpaper",
        "url": "market://details?id=com.appbasic.gearslivewallpaper",
        "image": "http://appbasic.com/promimg/gearslivewallpaper.png"
    },
    {
        "name": "Phone hanging too much ?",
        "url": "market://details?id=com.indiaapps.speedmaster",
        "image": "http://appbasic.com/promimg/speedmaster1.png"
    },
    {
        "name": "Rainbow Photo Frames",
        "url": "market://details?id=com.appbasic.rainbowphotoframes",
        "image": "http://appbasic.com/promimg/rainbowphotoframes.png"
    },
    {
        "name": "Military Photo Suit",
        "url": "market://details?id=com.appbasic.militaryphotosuit",
        "image": "http://appbasic.com/promimg/militaryphotosuit.png"
    }
]

我正在使用谷歌 gson 库。我的代码是:

try {
    URL twitter = new URL(
            "http://www.javaexperience.com/android/apps.json");
    URLConnection tc = twitter.openConnection();
    BufferedReader in = new BufferedReader(new InputStreamReader(
            tc.getInputStream()));

    Gson gson=new Gson();

    TypeToken<List<ExitPropsBean>> token = new TypeToken<List<ExitPropsBean>>() {};
    MenuActivity.apps = gson.fromJson(in, token.getType());

} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

ExitPropsBean.java 是:

public final class ExitPropsBean {

   private Bitmap image;
   private String name;
   private String url;


   public final String getName() {
      return this.name;
   }

   public final String getUrl() {
      return this.url;
   }

   public final Bitmap getImage() {
      return this.image;
   }

   public final void setName(String var1) {
      this.name = var1;
   }

   public final void setUrl(String var1) {
      this.url = var1;
   }

   public final void setImage(Bitmap var1) {
      this.image = var1;
   }
}

我得到的例外是(预期为 BRGIN_OBJECT,但在第 1 行第 104 列为 STRING):

http://prntscr.com/76mzyg

请有人帮忙。

【问题讨论】:

  • 请向我们展示ExitPropsBean类的代码。那里可能存在类型错位。
  • 我的错,之前错过了。现在添加它

标签: java android json gson


【解决方案1】:

ExitPropsBean,你有这个属性:

private Bitmap image;

Gson 正在尝试将java.lang.String 放入其中。将类型从 Bitmap 更改为 String,或为此类型提供 custom deserializer

【讨论】:

    猜你喜欢
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多