我想在textview中打印json数组utrition arrray动态问题是如果我在这行中写“1”(school3.getJSONObject(“1”)); 然后它只打印出来自json的第一个“名字”和“数量”。我想在这一行写j但问题是它显示错误JSONObject类型中的方法getJSONObject(String)不适用于参数(int)
for (int j = 1
school3.getJSONObject(j)
有没有任何方法转换int j = string然后加入 school3.getJSONObject(j)就像这样
//for example
string z;
z=j.tostring();
school3.getJSONObject(z);
{
"status":1,
"data"
,
"dish_nutrition":
{
"1":
{
"name":"Cholesterol and Diet",
"qty":"2"
},
"2":
{
"name":"Cholesterol and Diet",
"qty":"1"
}
}
}
JSONObject school3 = json2.getJSONObject("dish_nutrition");
final TableLayout table = (TableLayout) findViewById(R.id.table2);
for (int j = 1; j < school3.length(); j++) {
final View row = createRow (school3.getJSONObject("1"));
table.addView(row);
num=num+1;
}
public View createRow(JSONObject item) throws JSONException {
View row = getLayoutInflater().inflate(R.layout.rows, null);
((TextView)
row.findViewById(R.id.localTime)).setText(item.getString("name"));
((TextView)
row.findViewById(R.id.apprentTemp)).setText(item.getString("qty"));
return row;
}
答案 0 :(得分:1)
使用Integer.toString(int)或使用int +“”将整数转换为字符串,如j +“”
for (int j = 1; j < school3.length(); j++) {
final View row = createRow (school3.getJSONObject(j+""));
table.addView(row);
num=num+1;
}
OR
for (int j = 1; j < school3.length(); j++) {
final View row = createRow (school3.getJSONObject(Integer.toString(j)));
table.addView(row);
num=num+1;
}
答案 1 :(得分:0)
String z = String.valueOf(j);
school3.getJSONObject('\"' + z + '\"');
答案 2 :(得分:0)
整数到字符串? Integer.toString(ⅰ)
答案 3 :(得分:0)
您可以这样做:
school3.getJSONObject('\"' + j + '\"');
答案 4 :(得分:0)
如果需要将int转换为字符串,只需使用 String.valueof(int values);
如果你需要将字符串转换为int使用 Integer.parseInt(字符串值);
答案 5 :(得分:0)
通过它是基本的java。你应该知道。
String.valueof(int values) to convert Int to String
Integer.parseInt(string values) to convert String to Int