如何将JSONObject中的数据提取到EditText字段

时间:2015-01-07 04:48:01

标签: java android json

在下面显示的代码中,profile包含用户配置文件中的所有数据,如fname,lname和email(以jsonObject格式)。我想提取这些详细信息并填写下面显示的EditText框。

打开此表单后,这些详细信息将自动填充到EditText字段中。

String profile = getIntent().getStringExtra("profile");
try {
    JSONObject profileJSON = new JSONObject(profile);
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
fnameET = (EditText) findViewById(R.id.registerfName);
lnameET = (EditText) findViewById(R.id.registerlName);
emailET = (EditText) findViewById(R.id.registerEmail);

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

这样做

fnameET = (EditText) findViewById(R.id.registerfName);
lnameET = (EditText) findViewById(R.id.registerlName);
emailET = (EditText) findViewById(R.id.registerEmail);
String profile = getIntent().getStringExtra("profile");
try {
    JSONObject profileJSON = new JSONObject(profile);
    if(profileJSON.has("fname"))
        fnameET.setText(profileJSON.getString("fname"));
    if(profileJSON.has("lname"))
        lnameET.setText(profileJSON.getString("lname"));
    if(profileJSON.has("email"))
        emailET.setText(profileJSON.getString("email"));
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

}

答案 1 :(得分:1)

使用JSONObject.getString(key)使用JSONObject中的键获取所有值:

JSONObject profileJSON = new JSONObject(profile);
fnameET = (EditText) findViewById(R.id.registerfName);
fnameET.setText(profileJSON.getString("fname"));
//.... do same to get otger values from profileJSON

在传递给null方法之前,还要添加emptyJSONObject检查从setText检索到的值

答案 2 :(得分:0)

if(profileJSON!=null){

String userFirstName,userLastName,userEmail;

userFirstName = profileJSON.getString("fname");

userLastName = profileJSON.getString("lname");

userEmail = profileJSON.getString("email");

if(userFirstName!=null){
fnameET.setText(userFirstName);
}

if(userLastName!=null){
 lnameET.setText(userLastName);

}

if(userEmail!=null){
emailET.setText(userEmail);
}



}