由Gson lib从json文件获取对象,出现java.lang.UnsupportedOperationException错误

阿米尔110

我的代码使用Gson lib将.json文件转换为具有以下代码的Java模型:

public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(
                new FileReader("C:\\developers.json"));
        List<Developer> devList = new Gson().fromJson(br, Collections.<Developer>emptyList().getClass());
        for (Developer d : devList) {
            System.out.println(d.getAge());
        }
    }

发生的错误,请参考的第二个参数 fromJson

Exception in thread "main" java.lang.UnsupportedOperationException

这个错误是因为投放。搜索后,我发现没有比此代码更好的了。不知道怎么了 感谢您提供解决问题的指导。

编辑: developers.json->

[
  {
    "name": "mkyong",
    "age": 120,
    "salary": 1555002
  },
  {
    "name": "amir",
    "age": 20,
    "salary": 3000000
  }
]

和Developer.java->

public class Developer {

    private String name;
    private BigDecimal salary;
    private Integer age;

...
getters and setters
}
不同地

由于Gson正在创建由返回的List类型的实例emptyList(),然后尝试向其添加元素,因此引发了异常此方法返回的列表类型是不可变的,从而导致UnsupportedOperationException

Gson用户指南所述emptyList().getClass(),您应该使用TypeToken来反序列化泛型类型,而不是使用

Type listType = new TypeToken<List<Developer>>() {}.getType();
List<Developer> devList = new Gson().fromJson(br, listType);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

由均衡器中的 java.lang.UnsupportedOperationException 引起

来自分类Dev

Spark SQL 抛出错误“java.lang.UnsupportedOperationException: Unknown field type: void”

来自分类Dev

javalite 异步事件处理失败,错误为 [client] - AMQ214008:无法处理数据包 java.lang.UnsupportedOperationException

来自分类Dev

java.lang.UnsupportedOperationException android arraylist

来自分类Dev

Canvas中的java.lang.UnsupportedOperationException

来自分类Dev

java.lang.UnsupportedOperationException android arraylist

来自分类Dev

“java.lang.UnsupportedOperationException:空集合”

来自分类Dev

为什么会出现java.lang.UnsupportedOperationException?

来自分类Dev

保存到json postgres:java.lang.UnsupportedOperationException

来自分类Dev

GSON fronJson:抛出错误java.lang.NullPointerException:storage == null

来自分类Dev

GSON fronJson:抛出错误java.lang.NullPointerException:storage == null

来自分类Dev

二进制XML文件第17行:由UnsupportedOperationException引起的类<unknown>膨胀错误:无法转换为尺寸:type = 0x2

来自分类Dev

Kotlin:MutableList中的java.lang.UnsupportedOperationException添加元素

来自分类Dev

组合两个Set时的java.lang.UnsupportedOperationException

来自分类Dev

java.lang.UnsupportedOperationException: Unsupported Service: accessibility android studio

来自分类Dev

java.lang.UnsupportedOperationException while dealing with tab widget

来自分类Dev

从列表中删除removeAll原因java.lang.UnsupportedOperationException

来自分类Dev

java.lang.UnsupportedOperationException:尚未为SQL查询实现

来自分类Dev

使用 Groovy 的构造函数强制时的 java.lang.UnsupportedOperationException

来自分类Dev

致命异常:java.lang.UnsupportedOperationException:不支持短信

来自分类Dev

Gson错误:java.lang.IllegalArgumentException:类android.app.ExitTransitionCoordinator声明了多个名为mHandler的JSON字段

来自分类Dev

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

来自分类Dev

Android由java.lang.outofmemoryerror引起

来自分类Dev

Android由:java.lang.NullPointerException

来自分类Dev

使用Gson将BindingResult转换为JSON时出现java.lang.StackOverflowError

来自分类Dev

处理选项卡小部件时出现java.lang.UnsupportedOperationException

来自分类Dev

为什么在线程停止时出现java.lang.UnsupportedOperationException?

来自分类Dev

为什么在线程停止时出现java.lang.UnsupportedOperationException?

来自分类Dev

Gson 错误:私有 java.lang.String java.util.regex.Pattern.pattern 上不允许反射

Related 相关文章

  1. 1

    由均衡器中的 java.lang.UnsupportedOperationException 引起

  2. 2

    Spark SQL 抛出错误“java.lang.UnsupportedOperationException: Unknown field type: void”

  3. 3

    javalite 异步事件处理失败,错误为 [client] - AMQ214008:无法处理数据包 java.lang.UnsupportedOperationException

  4. 4

    java.lang.UnsupportedOperationException android arraylist

  5. 5

    Canvas中的java.lang.UnsupportedOperationException

  6. 6

    java.lang.UnsupportedOperationException android arraylist

  7. 7

    “java.lang.UnsupportedOperationException:空集合”

  8. 8

    为什么会出现java.lang.UnsupportedOperationException?

  9. 9

    保存到json postgres:java.lang.UnsupportedOperationException

  10. 10

    GSON fronJson:抛出错误java.lang.NullPointerException:storage == null

  11. 11

    GSON fronJson:抛出错误java.lang.NullPointerException:storage == null

  12. 12

    二进制XML文件第17行:由UnsupportedOperationException引起的类<unknown>膨胀错误:无法转换为尺寸:type = 0x2

  13. 13

    Kotlin:MutableList中的java.lang.UnsupportedOperationException添加元素

  14. 14

    组合两个Set时的java.lang.UnsupportedOperationException

  15. 15

    java.lang.UnsupportedOperationException: Unsupported Service: accessibility android studio

  16. 16

    java.lang.UnsupportedOperationException while dealing with tab widget

  17. 17

    从列表中删除removeAll原因java.lang.UnsupportedOperationException

  18. 18

    java.lang.UnsupportedOperationException:尚未为SQL查询实现

  19. 19

    使用 Groovy 的构造函数强制时的 java.lang.UnsupportedOperationException

  20. 20

    致命异常:java.lang.UnsupportedOperationException:不支持短信

  21. 21

    Gson错误:java.lang.IllegalArgumentException:类android.app.ExitTransitionCoordinator声明了多个名为mHandler的JSON字段

  22. 22

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

  23. 23

    Android由java.lang.outofmemoryerror引起

  24. 24

    Android由:java.lang.NullPointerException

  25. 25

    使用Gson将BindingResult转换为JSON时出现java.lang.StackOverflowError

  26. 26

    处理选项卡小部件时出现java.lang.UnsupportedOperationException

  27. 27

    为什么在线程停止时出现java.lang.UnsupportedOperationException?

  28. 28

    为什么在线程停止时出现java.lang.UnsupportedOperationException?

  29. 29

    Gson 错误:私有 java.lang.String java.util.regex.Pattern.pattern 上不允许反射

热门标签

归档