我的PHP代码是:
$query=mysql_query("select adm_num,firstname,dob,adm_date,address1,mothername,medium,fathername from students where adm_num ='".$_REQUEST["adm_num"]."'");
$get_classid = mysql_fetch_assoc(mysql_query("select class_id from students where adm_num = '".$_REQUEST["adm_num"]."'"));
$sql = mysql_query("select class as classname from school_classes where class_id=".$get_classid["class_id"]." and admin_id=1");
while($row = mysql_fetch_assoc($query))
{
$output[]=$row;
}
while($row2 = mysql_fetch_assoc($sql))
{
$output[]=$row2;
}
$sql1 = mysql_query("select * from school_exams where admin_id=1");
while($row1 = mysql_fetch_assoc($sql1))
{
$output[]=$row1;
}
print(json_encode($output));
mysql_close();
我的代码是:
String getclass;
JSONArray jArray = new JSONArray(result);
JSONObject json_data=null;
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
getadmnno=json_data.getString("adm_num");
getstudname=json_data.getString("firstname");
getdob=json_data.getString("dob");
getadmndate=json_data.getString("adm_date");
getaddress=json_data.getString("address1");
getfathername=json_data.getString("mothername");
getmedium=json_data.getString("medium");
getmothername=json_data.getString("fathername");
getclassname=json_data.getString("class_id");
admNo.setText(getadmnno);
name.setText(getstudname);
dob.setText(getdob);
admnDate.setText(getadmndate);
address.setText(getaddress);
fatherName.setText(getfathername);
medium.setText(getmedium);
motherName.setText(getmothername);
className.setText(getclassname);
}
//我在class_name中得到的值是“10th”,因此问题。
json输出是这样的:
[{"adm_num":"1","firstname":"RAJESH","dob":"2011-12-19","adm_date":"0000-00-00","address1":"hyd","mothername":"shahid","medium":"English","fathername":"Mohanamma"},{"classname":"10th"},{"exam_id":"1","admin_id":"1","types":"Unit Test-1"},{"exam_id":"2","admin_id":"1","types":"Unit Test-2"}]
那么有人可以帮助我如何将这个(“第10个”)数据传递给getclass吗?
我知道我得到的数据是一个字符。但我没有从json对象中获取此选项的选项。我得到的错误是:
dataorg.json.jsonexception No value for class_name
但我的json输出是:[{"classname":"10th"}]
那么请帮助我如何将数据传递给它?请具体,请写一些代码。这是更好,更容易理解的方式。如果有人想看到整个代码请问我,我肯定会更新我的问题。
提前致谢
答案 0 :(得分:1)
输入JSON实际上由三个不同种类的4个对象组成。包含“classname”字段的对象是第二个对象。
但是,您的代码假设数组中的所有对象都具有相同的类型,并且它们都具有“classname”字段。这就是造成你的例外的原因。
仔细查看JSON对象的结构,并确保Java代码与该结构匹配。