你好,我正在创建我的第一个 Android 应用程序,我想知道从 URL 解析 JSON Feed 的最佳和最有效的方法是什么。而且理想情况下我想将它存储在某个地方,这样我就可以继续返回它在应用程序的不同部分。我到处寻找,发现了很多不同的方法,但我不知道该选择哪种。您认为高效、轻松地解析 json 的最佳方法是什么?
在这个问题上我会支持whatsthebeef,抓取数据然后序列化到磁盘。
下面的代码显示了第一阶段,抓取 JSON 并将其解析为 JSON 对象并保存到磁盘
// Create a new HTTP Client
DefaultHttpClient defaultClient = new DefaultHttpClient();
// Setup the get request
HttpGet httpGetRequest = new HttpGet("http://example.json");
// Execute the request in the client
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
// Grab the response
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
String json = reader.readLine();
// Instantiate a JSON object from the request response
JSONObject jsonObject = new JSONObject(json);
// Save the JSONOvject
ObjectOutput out = new ObjectOutputStream(new FileOutputStream(new File(getCacheDir(),"")+"cacheFile.srl"));
out.writeObject( jsonObject );
out.close();
将 JSONObject 序列化并保存到磁盘后,您可以随时使用以下命令将其加载回来:
// Load in an object
ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File(new File(getCacheDir(),"")+"cacheFile.srl")));
JSONObject jsonObject = (JSONObject) in.readObject();
in.close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)