Android 如何获取数组号
我有:Android 如何获取数组号,android,json,Android,Json,我有: {"elements":[{"id":5,"name":"Mathematics","shortName":"math","links":{"courses":[15,30,46,47]}}]} 我的代码: List<NameValuePair> params = new ArrayList<NameValuePair>(); // getting JSON string from URL JSONObject
{"elements":[{"id":5,"name":"Mathematics","shortName":"math","links":{"courses":[15,30,46,47]}}]}
我的代码:
List<NameValuePair> params = new ArrayList<NameValuePair>();
// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);
// Check your log cat for JSON reponse
//Log.d("All Products: ", json.toString());
try {
products = json.getJSONArray("elements");
for (int i = 0; i < products.length(); i++) {
JSONObject c = products.getJSONObject(i);
// Storing each json item in variable
int ids = c.getInt(TAG_PID);
String id = String.valueOf(ids);
if (id.compareTo(id_kh) == 0) {
object = c.getJSONObject("links");
JSONArray courses = object.getJSONArray("courses");///???????????
//result = courses.split("[,]");
Toast.makeText(getBaseContext(),"abc",Toast.LENGTH_LONG).show();
break;
}
}
} catch (JSONException e) {
e.printStackTrace();
}
List params=new ArrayList();
//从URL获取JSON字符串
JSONObject json=jParser.makeHttpRequest(url_all_products,“GET”,params);
//检查日志cat中的JSON响应
//Log.d(“所有产品:,json.toString());
试一试{
products=json.getJSONArray(“元素”);
对于(int i=0;i
我不知道如何在“courses”之后获取数组号。
courses
是一个JSONArray
,因此您可以这样做:
JSONArray coursesArray = linksObject.getJSONArray("courses");
更新:
要从coursesArray
获取值,请执行以下操作:
int value = coursesArray.optInt(position);
我会使用HashMaps。这里有一个例子( )如何从JSON字符串获取它
特别是对于“courses”,一旦解析到那里,我会在那里使用
HashMap
。一旦你得到你的
JSONArray courses = object.getJSONArray("courses");
只需迭代其值:
// you wanted these numbers in an array
// so let's create one, with size being number of elements in
// JSONArray courses
int[] courseIds = new int[courses.length()];
for (int j=0; j<courses.length(); j++) {
// assign current number to the appropriate element in your array of ints
coursesId[j] = courses.getInt(j);
Log.d("TAG", "number: " + number);
}
//您希望将这些数字放在一个数组中
//让我们创建一个,大小为
//JSONArray课程
int[]courseIds=新int[courses.length()];
对于(int j=0;JC)你可以发布你拥有的代码吗…(格式)请“元素”我可以通过getJSONArray获得,“id”我可以通过getInt获得,“名称”我可以通过getString获得,“链接”我可以通过getJSONObject获得。所以“课程”我能通过什么?编辑你的问题并添加你的解析代码。如果我是你,我更喜欢Gson。我如何使用coursesArray?我想要数组int[]。帮帮我!!