可能是这段代码对你有帮助
public class JSONfunctions {
public static JSONArray getJSONfromURL(String url) {
InputStream is = null;
String result = "";
JSONArray jArray = null;
// http post
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
// convert response to string
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();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag get data string ",
"Error converting result " + e.toString());
}
try {
jArray = new JSONArray(result);
} catch (JSONException e) {
Log.e("log_tag create object ",
"Error parsing data " + e.toString());
}
return jArray;
}
}
这是解析代码示例,您可以更改它。
public class Main extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listplaceholder);
JSONArray json = JSONfunctions
.getJSONfromURL("http://docs.blackberry.com/sampledata.json");
for (int i = 0; i < json.length(); i++) {
try {
Log.e("json names vehicleType", ""
+ json.getJSONObject(i).getString("vehicleType"));
Log.e("json names vehicleColor", ""
+ json.getJSONObject(i).getString("vehicleColor"));
Log.e("json names fuel",
"" + json.getJSONObject(i).getString("fuel"));
Log.e("json names treadType", ""
+ json.getJSONObject(i).getString("treadType"));
Log.e("json names approvedOperators",
""
+ json.getJSONObject(i).getJSONArray(
"approvedOperators"));
JSONArray array = json.getJSONObject(i).getJSONArray(
"approvedOperators");
for (int j = 0; j < array.length(); j++) {
Log.e("json names approvedOperators name ", ""
+ array.getJSONObject(j).getString("name"));
Log.e("json names approvedOperators experience ",
""
+ array.getJSONObject(j).getString(
"experiencePoints"));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}