java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap无法转换为asd.Grade

杰普

我手头有一个大型项目,但在此示例中我模拟了遇到的问题:

我的第一堂课:

package asd;

import java.io.Serializable;

public class Grade implements Serializable{
String name;
Integer score;

public String getName() {
    return name;
}

public Grade() {}

public Grade(String name, Integer score) {
    this.name = name;
    this.score = score;
}

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

public Integer getScore() {
    return score;
}

public void setScore(Integer score) {
    this.score = score;
}
}

我的第二堂课:

package asd;

import java.io.Serializable;


public class Student implements Serializable {
private String name;
private Object grade;

public String getName() {
    return name;
}

public Student(String name, Object grade) {
    this.name = name;
    Grade = grade;
}

public Student() {}

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

public Object getGrade() {
    return Grade;
}

public void setGrade(Object grade) {
    Grade = grade;
}
}

这是我的主要课程:

package asd;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.*;

public class Test {
public static void main(String[] args){
    Student s1 = new Student();
    s1.setName("JeanPierre");
    s1.setGrade(new Grade("Math", 8));

    Gson gson = new GsonBuilder().create();
    String convertedToJson = gson.toJson(s1);
    System.out.println("Json string: " + convertedToJson);

    Student s2 = gson.fromJson(convertedToJson, Student.class);

    System.out.println("Student Name: " + s2.getName());
    System.out.println("Grade Name: " + ((Grade)s2.getGrade()).getName());
    System.out.println("Grade Score: " + ((Grade)s2.getGrade()).getScore());

}
}

输出:

Json字符串是:

{"name":"JeanPierre","Grade":{"name":"Math","score":8}}

Student Name: JeanPierre


Exception in thread "main" java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to asd.Grade
    at asd.Test.main(Test.java:24)

我的问题是当我打电话给:

System.out.println("Grade Name: " + ((Grade)s2.getGrade()).getName());

或者

System.out.println("Grade Score: " + ((Grade)s2.getGrade()).getScore());

我得到这个例外:

Exception in thread "main" java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to asd.Grade
    at asd.Test.main(Test.java:24)
杰普

我现在将所有内容都更改为XML,并使用了XStream,可以在我的测试中使用。感谢大家的回答。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap无法转换为asd.Grade

来自分类Dev

Android:Loop for正在获取java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap无法强制转换

来自分类Dev

com.google.gson.internal.LinkedTreeMap无法转换为我的自定义类

来自分类Dev

java.lang.NoClassDefFoundError:com.google.gson.Gson

来自分类Dev

com.google.gson.internal.LinkedHashTreeMap无法转换为我的对象

来自分类Dev

Google App Engine:java.lang.ClassCastException:com.google.appengine.api.datastore.Key无法转换为java.lang.Integer

来自分类Dev

用于JSON解析的Android模型显示ClassCastException:com.google.gson.JsonObject无法转换为com.google.gson.JsonArray

来自分类Dev

java.lang.ClassCastException:jdk.nashorn.internal.objects.NativeArray无法转换为java.lang.Comparable

来自分类Dev

java.lang.ClassCastException:com.MyComp.model.Image无法转换为java.lang.Comparable

来自分类Dev

java.lang.ClassCastException:com.model.Image无法转换为java.lang.String

来自分类Dev

java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;

来自分类Dev

使用gref将Java gson.fromJson()转换为POJO会导致java.lang.ClassCastException

来自分类Dev

com.google.gson.JsonObject不能转换为com.google.gson.JsonArray在Java中

来自分类Dev

获取java.lang.ClassNotFoundException:com.google.gson.Gson用于Maven项目

来自分类Dev

java.lang.ClassCastException:com.sun.proxy。$ Proxy47无法转换为

来自分类Dev

java.lang.ClassCastException:无法将java.lang.String强制转换为com.parse.ParseUser

来自分类Dev

Google Gson-com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

来自分类Dev

java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为com.inrev.segmentation.bean.IRUserSegment

来自分类Dev

com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

来自分类Dev

com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

来自分类Dev

java.lang.ClassCastException:com.modelrenderer.MyVector3 $ 1无法转换为com.modelrenderer.MyVector3

来自分类Dev

JRException:java.lang.ClassCastException:java.lang.String无法转换为java.lang.Boolean

来自分类Dev

Kotlin:java.lang.ClassCastException:java.lang.Long无法转换为java.lang.Integer

来自分类Dev

parse.com java.lang.ClassCastException:无法将java.util.HashMap强制转换为org.json.JSONObject

来自分类Dev

com.google.gson.JsonSyntaxException:android中的java.lang.IllegalStateException

来自分类Dev

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY,但为STRING

来自分类Dev

硒网络驱动程序java.lang.NoClassDefFoundError:com / google / gson / JsonSyntaxException

来自分类Dev

线程“main”中的异常 java.lang.NoClassDefFoundError: com/google/gson/JsonParseExceptiong

来自分类Dev

ClassCastException:JSONArray无法转换为java.lang.String []

Related 相关文章

  1. 1

    java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap无法转换为asd.Grade

  2. 2

    Android:Loop for正在获取java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap无法强制转换

  3. 3

    com.google.gson.internal.LinkedTreeMap无法转换为我的自定义类

  4. 4

    java.lang.NoClassDefFoundError:com.google.gson.Gson

  5. 5

    com.google.gson.internal.LinkedHashTreeMap无法转换为我的对象

  6. 6

    Google App Engine:java.lang.ClassCastException:com.google.appengine.api.datastore.Key无法转换为java.lang.Integer

  7. 7

    用于JSON解析的Android模型显示ClassCastException:com.google.gson.JsonObject无法转换为com.google.gson.JsonArray

  8. 8

    java.lang.ClassCastException:jdk.nashorn.internal.objects.NativeArray无法转换为java.lang.Comparable

  9. 9

    java.lang.ClassCastException:com.MyComp.model.Image无法转换为java.lang.Comparable

  10. 10

    java.lang.ClassCastException:com.model.Image无法转换为java.lang.String

  11. 11

    java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;

  12. 12

    使用gref将Java gson.fromJson()转换为POJO会导致java.lang.ClassCastException

  13. 13

    com.google.gson.JsonObject不能转换为com.google.gson.JsonArray在Java中

  14. 14

    获取java.lang.ClassNotFoundException:com.google.gson.Gson用于Maven项目

  15. 15

    java.lang.ClassCastException:com.sun.proxy。$ Proxy47无法转换为

  16. 16

    java.lang.ClassCastException:无法将java.lang.String强制转换为com.parse.ParseUser

  17. 17

    Google Gson-com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为字符串,但为BEGIN_OBJECT

  18. 18

    java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为com.inrev.segmentation.bean.IRUserSegment

  19. 19

    com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

  20. 20

    com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

  21. 21

    java.lang.ClassCastException:com.modelrenderer.MyVector3 $ 1无法转换为com.modelrenderer.MyVector3

  22. 22

    JRException:java.lang.ClassCastException:java.lang.String无法转换为java.lang.Boolean

  23. 23

    Kotlin:java.lang.ClassCastException:java.lang.Long无法转换为java.lang.Integer

  24. 24

    parse.com java.lang.ClassCastException:无法将java.util.HashMap强制转换为org.json.JSONObject

  25. 25

    com.google.gson.JsonSyntaxException:android中的java.lang.IllegalStateException

  26. 26

    com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY,但为STRING

  27. 27

    硒网络驱动程序java.lang.NoClassDefFoundError:com / google / gson / JsonSyntaxException

  28. 28

    线程“main”中的异常 java.lang.NoClassDefFoundError: com/google/gson/JsonParseExceptiong

  29. 29

    ClassCastException:JSONArray无法转换为java.lang.String []

热门标签

归档