【发布时间】:2012-05-26 02:30:02
【问题描述】:
我正在尝试为 Android 做一个简单的天气小部件,它只为我的国家(约旦)提供温度。我用于天气记录的网站提供了一个 JSON 文件,其中包含许多国家/地区的国家/地区数据。问题是该文件包含 2500 多个对象,并且解析需要很长时间。因此,由于我实际上需要
This is the URL of the JSON file.
如您所见,每个对象都有四个项目。我需要检查的是“图标”,它指定了该地区的国家。
示例:
{"value":"khalda","icon":"Jordan","label":"khalda","desc":"Amman & Madaba"},
到目前为止,我能想到的是我实际需要的对象的模式。但是,我需要获得那些我不需要能够删除它们的东西。这是模式:\{[^\{]*Jordan*[^\}]*\},(必须对其进行修改,以便在“Jordan”不存在时进行验证,我无法弄清楚。)
非常感谢任何帮助/提示。 谢谢。
【问题讨论】:
-
即使是这么多的 JSON 也几乎不需要任何时间来解析。你是怎么解析的?如果它使用的是知名库,我认为瓶颈可能是您的互联网连接而不是解析速度。
-
我使用的是 Java 内置的 JSONArray/JSONObject。 (这是我的参考:java.sun.com/developer/technicalArticles/javame/json-me)编辑:我的互联网连接是 8Mbps。
-
嗯...好吧,但我只是用 JavaScript 解析了整个事情,它只用了 27 毫秒。我坚持我的声明:)
-
好的,我可以尝试不同的解析器然后查看结果。 sites.google.com/site/gson 呢?您对 Java 的 JSON 解析器有任何经验吗?
-
不,实际上,我没有 Java 经验 :) 你有某种可用的分析工具吗?它应该可以帮助您准确缩小问题所在。否则,是时候手动比较一些日期了。