gpt4 book ai didi

java - JSON VS 简单的字符串操作来解析 Android 中的 HttpRequest

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:16 24 4
gpt4 key购买 nike

我遇到了必须通过 HttpPost 请求在远程服务器中提取一些信息的常见情况。想象一下,我们正在使用天气应用检索一些天气信息。

服务器发送一个输入流,我们有兴趣从这个流中提取一些信息。请记住,我们处于内存 CPU 绑定(bind)环境中。

我们有两个选择:

1) 我们使用 JSON 或 XML 解析器来提取信息。

这是推荐的方法,但它有一些缺点:

  • 它冗长得令人痛苦,尤其是当我们想要从大数据流中获取少量信息时。

  • 它应该更快并且对垃圾收集更友好,但我不确定上述情况是否如此(大数据流中的信息很少)。

2)我们使用简单的字符串操作(SSM):

我们通过粗略地去除无用的信息来减少输入流的维度,然后我们从一个紧凑的字符串中提取信息。为此,我们可以使用静态方法构建过滤器,以减少垃圾收集器的工作。

这种方法也有一些缺点:

  • 我认为强烈建议不要使用这种方法
  • 我们提取的信息越多,这种方法就越慢。我认为 SSM 变慢的性能曲线中有一个临界点。
  • 它可能不如 JSON 或其他常规解析器灵活。

还有一些重要的优点:

  • 简洁、人类可读的代码。
  • 修改现有过滤器可能很困难,但创建新过滤器要容易得多。

总结起来,问题是:

1) 简单的字符串操作是一个很大的禁忌方法,还是考虑使用它是合理的?2) 如果您对上一个问题的回答是"is"(big no-no approach),您能解释一下您的理由吗?

干杯:)

最佳答案

我会请求 JSON 格式的信息(不是 XML,它更冗长没有优势)并使用基于事件的解析器来定位所需的数据,方法是在从服务器读取数据时在线处理流。

这将非常容易内存,并且不需要更改服务器提供的内容。与您可能组合在一起的任何本地字符串切片解决方案相比,它也将更加可靠和更能抵抗变化。

我有一个免费分发的非常light-weight pull parser对于我网站上的 JSON。其他可从 http://www.json.org 获得.

关于java - JSON VS 简单的字符串操作来解析 Android 中的 HttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5034952/

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