gpt4 book ai didi

java - GSON: fromJson(Reader json, Type typeOfT) vs fromJson(String json, Type typeOfT)

转载 作者:行者123 更新时间:2023-11-30 08:52:49 29 4
gpt4 key购买 nike

我正在使用一个代码库,该代码库获取网络响应的主体并将其提供给具有 fromJson(Reader json, Type typeOfT) 的 GSON 实例以创建 POJO。

通常我会看到对 fromJson(String json, Type typeOfT) 的调用,但他们坚持认为使用 Reader 调用更好。

使用 StringReader 有什么区别,它们会有多大区别?

最佳答案

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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com