无法获取json数据

时间:2014-08-23 04:35:00

标签: android json locale

我的服务器json数据如下: - []

public class Main2Activity extends Activity {
        final Context context = this;

        }

        @Override
        protected void onCreate(Bundle savedInstanceState) {

        }
    }

在这里我可以获取所有的国家名称。但是Rank不会出现在text-view上。问题出在哪里?谁能告诉我?????????

4 个答案:

答案 0 :(得分:0)

您使用了错误的密钥'name'

txt1.setText("Rank- "+jsonObject.getString("name"));

使用此行

txt1.setText("Rank- "+jsonObject.getString("Rank"));

您必须创建侦听器以获取旋转器的项目选定事件。

参考this link并检查setOnItemClickListener()

中的代码

如果您遇到一些困难,请添加评论。

答案 1 :(得分:0)

尝试替换此代码:

txt1.setText("Rank- "+jsonObject.getString("name"));

使用此代码:

 txt1.setText("Rank- "+jsonObject.getString("Rank"));

Note : you have given wrong key reference to get Rank value

答案 2 :(得分:0)

首先添加到您的列表中解析数据

nameList.add(jsonObject.getString("Rank"));

您使用了错误的密钥'名称'

txt1.setText("Rank- "+jsonObject.getString("name"));

使用Spinner的这一行onItemSelectedListener

txt1.setText("Rank- "+nameList.get(position).get("Rank"));

在此处更改:

 for (int i = 0; i < jsonArray.length(); i++) {
       JSONObject jsonObject = jsonArray.getJSONObject(i);
       nameList.add(jsonObject.getString("name"));
       nameList.add(jsonObject.getString("Rank"));

  }

答案 3 :(得分:0)

试试这个:

int cnt= jsonarr.length();
String country_name;
String country_rank;                    

for(int i=0;i<cnt;i++){
    country_name= jsonarr.getJSONObject(i).getString("name");
    country_rank= jsonarr.getJSONObject(i).getString("Rank");
}

tv.setText(country_rank.toString());

希望这可以帮到你!