下载一个JSON阵列从URL中的Android

我试图下载一个JSON文件以这种格式下载一个JSON阵列从URL中的Android

[ { “CRN”: “10001”, “课程”: “REG1” } , { “CRN”:“10002”, “课程”:“REG2” } ]

我知道如何使用JSONArray类一旦创建,但我不知道如何创建来自文件的JSONArray对象。如果该文件的URL位置是“www.test.com”,我将如何在启动应用程序时在后台下载它,以免干扰应用程序的启动,但不要求用户手动自己下载它。

回答:

你可能想看看这个有帮助库:Retrofit

它使抓取和解析JSON数据容易!

回答:

我认为你应该寻找Android Web服务的例子。在这里你可以找到有关信息

1.如何向服务器发送HTTP请求从服务器等。

这是我找到你的简单教程。

Android Web service for Log-in and Registration

只需经过一步一步来。

在这个例子中,我们向服务器请求登录并获得响应,然后在应用程序中继续。

这里是代码snipp。

public class JSONParser { 

static InputStream is = null;

static JSONObject jObj = null;

static String json = "";

// constructor

public JSONParser() {

}

public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {

// Making HTTP request

try {

// defaultHttpClient

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(url);

httpPost.setEntity(new UrlEncodedFormEntity(params));

HttpResponse httpResponse = httpClient.execute(httpPost);

HttpEntity httpEntity = httpResponse.getEntity();

is = httpEntity.getContent();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

try {

BufferedReader reader = new BufferedReader(new InputStreamReader(

is, "iso-8859-1"), 8);

StringBuilder sb = new StringBuilder();

String line = null;

while ((line = reader.readLine()) != null) {

sb.append(line + "n");

}

is.close();

json = sb.toString();

Log.e("JSON", json);

} catch (Exception e) {

Log.e("Buffer Error", "Error converting result " + e.toString());

}

// try parse the string to a JSON object

try {

jObj = new JSONObject(json);

} catch (JSONException e) {

Log.e("JSON Parser", "Error parsing data " + e.toString());

}

// return JSON String

return jObj;

}

}

回答:

一个好办法自动下载JSON文件,将您的家庭活动的onCreate方法期间发动AsyncTask

JSON文件无非是特殊格式的文本文件,所以可以很容易地从HttpURLConnection作为响应下载,然后将其视为字符串。

将JSON对象解析为Java对象的建议是Jackson JSON处理器。您可以使用该库的ObjectMapper类自动创建对象。

如果您打算自己实现服务器端,并且您还需要一个库来发送JSON对象,则可以在服务器和客户端上使用Jersey。

以上是 下载一个JSON阵列从URL中的Android 的全部内容, 来源链接: utcz.com/qa/259875.html

回到顶部