【发布时间】:2021-12-30 11:21:54
【问题描述】:
我有一个对象 MobilePhone,其中包含要转换为 Json 字符串的字段(字符串品牌和名称、int ram 和 rom)。我尝试这样做
public static void main(String[] args) {
MobilePhone mp = new MobilePhone();
mp.setBrand("iPhone");
mp.setName("X");
mp.setRam(4);
mp.setRom(1);
Gson json = new Gson();
String object = json.toJson(mp);
System.out.println(object);
}
我收到以下错误:
线程“主”java.lang.reflect.InaccessibleObjectException 中的异常:无法公开(包名)。MobilePhone() 可访问:模块(项目名)没有“导出(包名)”到模块 gson 在 java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:349) 在 java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:289) 在 java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Constructor.java:189) 在 java.base/java.lang.reflect.Constructor.setAccessible(Constructor.java:182) 在 gson@2.8.2/com.google.gson.internal.ConstructorConstructor.newDefaultConstructor(ConstructorConstructor.java:101) 在 gson@2.8.2/com.google.gson.internal.ConstructorConstructor.get(ConstructorConstructor.java:83) 在 gson@2.8.2/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:99) 在 gson@2.8.2/com.google.gson.Gson.getAdapter(Gson.java:423) 在 gson@2.8.2/com.google.gson.Gson.toJson(Gson.java:661) 在 gson@2.8.2/com.google.gson.Gson.toJson(Gson.java:648) 在 gson@2.8.2/com.google.gson.Gson.toJson(Gson.java:603) 在 gson@2.8.2/com.google.gson.Gson.toJson(Gson.java:583) 在 IAssessment/application.AddData.main(AddData.java:23) - 这是行 String object = json.toJson(mp);
请帮忙
【问题讨论】: