0

我想在 textview 中动态打印 json 数组 utrition 数组,问题是如果我在这一行中写“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;
}
4

6 回答 6

1

使用 Integer.toString(int) 或使用 int+"" in 将整数转换为字符串,如 j+""

        for (int j = 1; j < school3.length(); j++) {

        final View row = createRow (school3.getJSONObject(j+""));
                table.addView(row);

            num=num+1;
        }

或者

        for (int j = 1; j < school3.length(); j++) {

        final View row = createRow (school3.getJSONObject(Integer.toString(j)));
                table.addView(row);

            num=num+1;
        }
于 2013-08-29T07:27:32.677 回答
0
String z = String.valueOf(j); 
school3.getJSONObject('\"' + z + '\"');
于 2013-08-29T06:44:36.917 回答
0

整数转字符串?整数.toString(i)

于 2013-08-29T06:48:53.493 回答
0

你可以这样做:

school3.getJSONObject('\"' + j + '\"');
于 2013-08-29T06:51:09.023 回答
0

如果您需要将 int 转换为字符串,只需使用 String.valueof(int values);

如果你需要将字符串转换为 int 使用 Integer.parseInt(string values);

于 2013-08-29T06:51:26.350 回答
0

通过它是基本的java。你应该知道。

String.valueof(int values) to convert Int to String


Integer.parseInt(string values) to convert String to Int
于 2013-08-29T07:30:16.390 回答