2017-11-12 4 views
1

以下は、mysqlにフェッチするJsonデータです。 問題。 JSONデータには、opt1、opt2、opt3 ...... opt7があります。JSONオブジェクトへの動的値の取得方法は?

以下、私はopt1..7の値をforループで取得していますが、opt1 ... 7の値は未定義です。どうして?

JSONデータ:

{"qz_id":"15","qzn_id":"14","ins_user_id":"1","qnumber":"8","quiz_question":"jdfkjf dkfj dkjfkd kid jfkjdk fdkjfk djfkdjfkd kfkd fk djfkd jfk d", 
      "opt1":"jkj","opt2":"kjkj","opt3":"kjkj","opt4":"kjkjkjk","opt5":"","opt6":"","opt7":"","right_opt":"opt1","qns_explanation":"", 
      "Answeroption":"0","q_mark":"0","qns_neq_mark":"0", 
      "qns_DifficultyLevel":"1","cdate":"2017","stt":"In-active","del_stt":"No","quiz_name":"ssdsds demo","exam_id":"5","sec_id":"6"} 

AJAXコード:あなたは変数を経由して、オブジェクトのプロパティにアクセスしたい場合は

$.ajax({ 
url: "quiz_process.php", 
type: "POST", 
data: dataString, 
cache: false, 
success: function(data) { 
    var obj=JSON.parse(data); 
    /*opt a*/ 
    var optv=""; 
    var optionv=""; 
    for(var i=1;i<=7;i++) { 
    optv='opt'+i; 
    optionv = optv+'::'+obj.optv; 
    console.log(optionv); 
    } 

} 
}); 

答えて

1

、あなたの構文ビットを変更する必要があります:

optionv = optv+'::'+obj[optv];

そうでなければ、obj.optvあなたのケースに存在しないオブジェクトのoptvプロパティにアクセスしようとしています。

+0

ありがとう...... –

関連する問題