- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个代码库,该代码库获取网络响应的主体并将其提供给具有 fromJson(Reader json, Type typeOfT)
的 GSON 实例以创建 POJO。
通常我会看到对 fromJson(String json, Type typeOfT)
的调用,但他们坚持认为使用 Reader
调用更好。
使用 String
与 Reader
有什么区别,它们会有多大区别?
最佳答案
Reader
是一个用于读取字符流的类。所以当解析器使用它时,它会从 Reader 中一个一个地取出每个字符并逐步解析输入。
使用字符串会强制您在解析之前将所有 json 存储到其中。如果您有一个庞大的结构要解析,这可能不是最佳方法。
此外,如果您从在阅读器中读取的请求中获得响应,它允许您直接解析响应,而不是读取所有流以将其构建为字符串,然后将此字符串提供给解析器。
因此,如果您将 json 直接放在字符串中,请使用 fromJson(String s, ...)
否则使用 fromJson(Reader r, ...)
举一个实际的例子,假设你有一个巨大的 json 文件,你想解析它,但它的第一行有语法错误。将其所有内容读入一个 String 中,然后解析它,发现第一行有错误,这显然是低效的。如果您改用 FileReader
,您只需阅读第一行就会发现这是一个格式错误的 json。
关于java - GSON: fromJson(Reader json, Type typeOfT) vs fromJson(String json, Type typeOfT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30061317/
我正在使用一个代码库,该代码库获取网络响应的主体并将其提供给具有 fromJson(Reader json, Type typeOfT) 的 GSON 实例以创建 POJO。 通常我会看到对 from
我是一名优秀的程序员,十分优秀!