2012-01-23 11 views
2

私のPHPコードは次のとおりです。jsonobjectからjavaに値「10th」を取得する方法は?

$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(); 

私のコードは次のとおりです。私はCLASS_NAMEで取得

 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); 

    } 

//値が "10"、それゆえの問題です。

JSON出力は、このようなものです:だから誰でもはgetClassするには、この( "第10回")のデータを渡す方法を私を助けてくださいすることができます

[{"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"}]

私が得たデータは、charです。しかし、私はjsonオブジェクトからこれを取得するオプションがありません。

dataorg.json.jsonexception No value for class_name

が、私のJSON出力は次のとおりです:私が手にエラーがある[{"classname":"10th"}]

だからこれにデータを渡す方法を私を助けてください?そして、具体的にしてください、いくつかのコードを書いてください。理解しやすくて簡単です。もし誰かが全体のコードを見たいと思ったら、私に質問してください、私は間違いなく私の質問を更新します。予め

+2

JSONの入力内容を表示し、 'getclass'に含める内容を教えてください。今のところ、JSONフィールドの値として「10位」があり、それが 'getclass'に読み込まれる(自然に)ようです。 –

+0

@StephenC入力jsonは[{"" class_name ":" 10th "}]のようになります。これは私のために非常に重要です私を助けてください –

+0

は、jsonのリンクを提供することができますか?何かエラーが表示され、そのエラーも表示されます – Mitt

答えて

1

おかげで入力JSONは、実際には3つの異なる種類の4オブジェクトのアレイからなります。 「classname」フィールドを含むオブジェクトは2番目のオブジェクトです。

しかし、あなたのコードでは、配列内のすべてのオブジェクトが同じ種類で、すべてが "classname"フィールドを持っていると仮定しています。それがあなたの例外を引き起こしているのです。

JSONオブジェクトの構造を注意深く見て、Javaコードがその構造と一致することを確認してください。

+1

あなたは間違いなしです。アンドロイドで複数のjson出力を処理する方法を教えてください。私にサンプルをお願いしますか?実際これは私の次の質問でした。 –

+0

@sulemankhan - なぜコードが必要ですか?これは**簡単な** Javaプログラミングです。方法を理解できない場合は、Javaチュートリアルを行い、言語を学ぶ必要があります。 –

関連する問題