我是android和JSON的新手。 我正在尝试获取JSON数据(下面一个):
{" user":[{" id":" 001"," name":" Raj Amal&#34 ;,"电子邮件":" raj.amalw@gmail.com" }]}
并在其中一个android应用程序文本视图中使用其数据。 那么我该如何解决上述问题呢。
我已尝试过以下代码,但它给出了异常。 请帮忙。
{
try{
JSONObject obj=new JSONObject(jsonString);
//Log.i(TAG,obj.getString(TAG_ID));
String iid = obj.getString(TAG_ID);
Log.i(TAG,iid);
final TextView CardBalanceID = (TextView) findViewById(R.id.CardBalanceID);
CardBalanceID.setText(iid);
}catch(JSONException e){
Log.i(TAG,"EXCEPTION");
e.printStackTrace();}
}
答案 0 :(得分:0)
我已更新您的代码尝试此操作。
{
try{
JSONObject obj=new JSONObject(jsonString);
//Log.i(TAG,obj.getString(TAG_ID));
JSONArray jsnArry = obj.getJSONArray("user");
// if you have more than 1 object in Array
// then loop is needed otherwise you can use directly 0th item.
for(int i=0;i<jsnArry.length();i++){
JSONObject jsnObj = jsnArray.getJSONObject(i);
String iid = jsnObj .getString(TAG_ID);
}
Log.i(TAG,iid);
final TextView CardBalanceID = (TextView) findViewById(R.id.CardBalanceID);
CardBalanceID.setText(iid);
}catch(JSONException e){
Log.i(TAG,"EXCEPTION");
e.printStackTrace();}
}
答案 1 :(得分:0)
您的id对象位于user
数组中。所以你首先需要解析那个数组。请尝试以下代码。
try{
JSONObject obj=new JSONObject(jsonString);
JSONArray jArray = obj.getJSONArray("user");
String iid = jArray.getJSONObject(0).getString(TAG_ID);
Log.i(TAG,iid);
final TextView CardBalanceID = (TextView) findViewById(R.id.CardBalanceID);
CardBalanceID.setText(iid);
}catch(JSONException e){
Log.i(TAG,"EXCEPTION");
e.printStackTrace();}
}