私はちょうど私のJSONデータの助けが必要でした実際に私のmysqlテーブルには多くのフィールドが含まれており、そのデータ全体をjsonフォーマットに変換してアンドロイドアプリに解析する方法を知っていますが、 id = 1、name = "some"これはこれまで私が成功しなかったものです。jsonから特定の値だけを取得する方法は?
public class Result_1 extends AppCompatActivity {
TextView winning,rank,accuracy,team1_judge_score,team1_actual_score,team1_score_accuracy,
team1_judge_fifty,team1_actual_fifty,team1_fifty_accuracy,
team1_judge_wicket,team1_actual_wicket,team1_wicket_accuracy,
team2_judge_score,team2_actual_score,team2_score_accuracy,
team2_judge_fifty,team2_actual_fifty,team2_fifty_accuracy,
team2_judge_wicket,team2_actual_wicket,team2_wicket_accuracy;
private ProgressDialog loading;
String mail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result1);
getResults();
rank=(TextView)findViewById(R.id.rank);
accuracy=(TextView)findViewById(R.id.Accuracy);
//Winning=(TextView)findViewById(R.id.money);
team1_judge_score=(TextView)findViewById(R.id.textView22);
team1_actual_score=(TextView)findViewById(R.id.textView23);
team1_score_accuracy=(TextView)findViewById(R.id.textView24);
team1_judge_fifty=(TextView)findViewById(R.id.textView32);
team1_actual_fifty=(TextView)findViewById(R.id.textView33);
team1_fifty_accuracy=(TextView)findViewById(R.id.textView34);
team1_judge_wicket=(TextView)findViewById(R.id.textView42);
team1_actual_wicket=(TextView)findViewById(R.id.textView43);
team1_wicket_accuracy=(TextView)findViewById(R.id.textView44);
team2_judge_score=(TextView)findViewById(R.id.textView22_2);
team2_actual_score=(TextView)findViewById(R.id.textView23_2);
team2_score_accuracy=(TextView)findViewById(R.id.textView24_2);
team2_judge_fifty=(TextView)findViewById(R.id.textView32_2);
team2_actual_fifty=(TextView)findViewById(R.id.textView33_2);
team2_fifty_accuracy=(TextView)findViewById(R.id.textView34_2);
team2_judge_wicket=(TextView)findViewById(R.id.textView41_2);
team2_actual_wicket=(TextView)findViewById(R.id.textView42_2);
team2_wicket_accuracy=(TextView)findViewById(R.id.textView43_2);
}
User user = SharedPrefManager.getInstance(Result_1.this).getUser();
String userEmail= user.getEmail();
private void getResults() {
loading = ProgressDialog.show(this,"","",false,false);
String url = Config.Result.toString().trim();
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
loading.dismiss();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String Winning="";
String Rank="";
String Accuracy="";
String Team1_Judgement_score="";
String Team1_Actual_score="";
String Team1_ScoreAccuracy="";
String Team1_Judgement_fifty="";
String Team1_Actual_fifty="";
String Team1_FiftyAccuracy="";
String Team1_Judgement_wickets="";
String Team1_Actual_wickets="";
String Team1_WicketsAccuracy="";
String Team2_Judgement_score="";
String Team2_Actual_score="";
String Team2_ScoreAccuracy="";
String Team2_Judgement_fifty="";
String Team2_Actual_fifty="";
String Team2_FiftyAccuracy="";
String Team2_Judgement_wickets="";
String Team2_Actual_wickets="";
String Team2_WicketsAccuracy="";
try {
JSONObject jobj = new JSONObject(response);
JSONArray result = jobj.getJSONArray(Config.JSON_ARRAY_Result);
for(int i=0;i<result.length();i++) {
String gmail = result.getJSONObject(i).getString(Config.email);
if (userEmail.equals(gmail)) // compare user email here
{
Rank = jobj.getString(Config.rank);
Accuracy = jobj.getString(Config.accuracy);
Team1_Judgement_score = jobj.getString(Config.score1_judge);
Team1_Actual_score = jobj.getString(Config.score1_actual);
Team1_ScoreAccuracy = jobj.getString(Config.score1_accu);
Team1_Judgement_fifty = jobj.getString(Config.fifty1_judge);
Team1_Actual_fifty = jobj.getString(Config.fifty1_actual);
Team1_FiftyAccuracy = jobj.getString(Config.fifty1_accu);
Team1_Judgement_wickets = jobj.getString(Config.wicket1_judge);
Team1_Actual_wickets = jobj.getString(Config.wicket1_actual);
Team1_WicketsAccuracy = jobj.getString(Config.wicket1_accu);
Team2_Judgement_score = jobj.getString(Config.score2_judge);
Team2_Actual_score = jobj.getString(Config.score2_actual);
Team2_ScoreAccuracy = jobj.getString(Config.score2_accu);
Team2_Judgement_fifty = jobj.getString(Config.fifty2_judge);
Team2_Actual_fifty = jobj.getString(Config.fifty2_actual);
Team2_FiftyAccuracy = jobj.getString(Config.fifty2_accu);
Team2_Judgement_wickets = jobj.getString(Config.wicket2_judge);
Team2_Actual_wickets = jobj.getString(Config.wicket2_actual);
Team2_WicketsAccuracy = jobj.getString(Config.wicket2_accu);
}
}
rank.setText(Rank);
accuracy.setText(Accuracy);
team1_judge_score.setText(Team1_Judgement_score);
team1_actual_score.setText(Team1_Actual_score);
team1_score_accuracy.setText(Team1_ScoreAccuracy);
team1_judge_fifty.setText(Team1_Judgement_fifty);
team1_actual_fifty.setText(Team1_Actual_fifty);
team1_fifty_accuracy.setText(Team1_FiftyAccuracy);
team1_judge_wicket.setText(Team1_Judgement_wickets);
team1_actual_wicket.setText(Team1_Actual_wickets);
team1_wicket_accuracy.setText(Team1_WicketsAccuracy);
team2_judge_score.setText(Team2_Judgement_score);
team2_actual_score.setText(Team2_Actual_score);
team2_score_accuracy.setText(Team2_ScoreAccuracy);
team2_judge_fifty.setText(Team2_Judgement_fifty);
team2_actual_fifty.setText(Team2_Actual_fifty);
team2_fifty_accuracy.setText(Team2_FiftyAccuracy);
team2_judge_wicket.setText(Team2_Judgement_wickets);
team2_actual_wicket.setText(Team2_Actual_wickets);
team2_wicket_accuracy.setText(Team2_WicketsAccuracy);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
config.java
public class Config {
public static final String Result =
"http://thehostels.in/judgement_files/myresult.php";
public static final String email = "email";
public static final String name1 = "name";
public static final String rank = "rank";
public static final String accuracy= "accuracy";
public static final String match_id = "match_id";
public static final String rs1 = "rs";
public static final String score1_judge = "score1_judge";
public static final String score1_actual= "score1_actual";
public static final String score1_accu = "score1_accu";
public static final String wicket1_judge = "wicket1_judge";
public static final String wicket1_actual = "wicket1_actual";
public static final String wicket1_accu= "wicket1_accu";
public static final String fifty1_judge = "fifty1_judge";
public static final String fifty1_actual = "fifty1_actual";
public static final String fifty1_accu = "fifty1_accu";
public static final String score2_judge = "score2_judge";
public static final String score2_actual= "score2_actual";
public static final String score2_accu= "score2_accu";
public static final String wicket2_judge = "wicket2_judge";
public static final String wicket2_actual = "wicket2_actual";
public static final String wicket2_accu= "wicket2_accu";
public static final String fifty2_judge = "fifty2_judge";
public static final String fifty2_actual = "fifty2_actual";
public static final String fifty2_accu = "fifty2_accu";
public static final String JSON_ARRAY_Result= "list";
}
私のJSONは、私はそれをここに掲載have't、この
{"list":[{"email":"[email protected]","name":"Vipul
S","rank":"1","accuracy":"80"},
{"email":"[email protected]","name":"karan
S","rank":"3","accuracy":"30"},
{"email":"[email protected]","name":"Vikas
S","rank":"2","accuracy":"83"}]}
のようなものが私のxmlファイルはとても少し大きいですが、私はidを確認していますそれは大丈夫です。
私はすべてのデータを取得していますが、電子メールに基づいて一度に1つの行だけを公開したいのですが、TextViewはデータを公開していません。
なぜ私は質問に間違っているとは思わない – Prakash