Android - 正在获取没有名称的数组
Android - Fetching Array with no name
我知道我正在获取的已经是一个数组,但我仍然不确定要在这里更改什么。
我有这个可以很好地返回数据,但我不确定如何处理数组才能将值输入地图。
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Objects from the given URL address
jsonobject = JSONfunctions
.getJSONfromURL("http://www.mywebsite.club/api/coffees");
try {
// Locate the array name in JSON
jsonarray = jsonobject.getJSONArray("coffees");
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("title", jsonobject.getString("title"));
map.put("brand", jsonobject.getString("brand"));
map.put("price", jsonobject.getInt("price"));
map.put("brandlogo", jsonobject.getString("brandlogo"));
// Set the JSON Objects into the array
arraylist.add(map);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
从您的回复中,我没有找到 coffees 属性作为数组名称,在您的 json 回复中您只有没有属性名称的数组。因此,您不需要从响应中获取 json 对象,无论您的响应字符串如何从中获取 json 数组,
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Array from the given URL address
jsonarray = new JSONArray(JSONfunctions.getJSONfromURL("http://www.mywebsite.club/api/coffees"));
try {
if(jsonarray != null)
{
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("title", jsonobject.getString("title"));
map.put("brand", jsonobject.getString("brand"));
map.put("price", jsonobject.getInt("price"));
map.put("brandlogo", jsonobject.getString("brandlogo"));
// Set the JSON Objects into the array
arraylist.add(map);
}
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
我知道我正在获取的已经是一个数组,但我仍然不确定要在这里更改什么。
我有这个可以很好地返回数据,但我不确定如何处理数组才能将值输入地图。
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Objects from the given URL address
jsonobject = JSONfunctions
.getJSONfromURL("http://www.mywebsite.club/api/coffees");
try {
// Locate the array name in JSON
jsonarray = jsonobject.getJSONArray("coffees");
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("title", jsonobject.getString("title"));
map.put("brand", jsonobject.getString("brand"));
map.put("price", jsonobject.getInt("price"));
map.put("brandlogo", jsonobject.getString("brandlogo"));
// Set the JSON Objects into the array
arraylist.add(map);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
从您的回复中,我没有找到 coffees 属性作为数组名称,在您的 json 回复中您只有没有属性名称的数组。因此,您不需要从响应中获取 json 对象,无论您的响应字符串如何从中获取 json 数组,
protected Void doInBackground(Void... params) {
// Create an array
arraylist = new ArrayList<HashMap<String, String>>();
// Retrieve JSON Array from the given URL address
jsonarray = new JSONArray(JSONfunctions.getJSONfromURL("http://www.mywebsite.club/api/coffees"));
try {
if(jsonarray != null)
{
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("title", jsonobject.getString("title"));
map.put("brand", jsonobject.getString("brand"));
map.put("price", jsonobject.getInt("price"));
map.put("brandlogo", jsonobject.getString("brandlogo"));
// Set the JSON Objects into the array
arraylist.add(map);
}
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}