Avatar of Dritan Nikolla
Dritan Nikolla
 asked on

Accessing nested key value pairs in javascript

Hi guys,

I have been able to implement a sort of password for a javascript package I am using, called jsPsych 5.0. I used a loop function and a survey-text plugin as follows:
 var password = {
      type: 'survey-text',
      questions: [{prompt: "Please enter the password provided to you by email", rows: 3, columns: 40}],
    };

var loop_node_password = {
    timeline: [password],
    loop_function: function(data){
         var Responses = JSON.parse(data[0].responses);
         if (Responses.Q0 == "mypassword"){
              return false;
          }else{
              return true;
              alert("Please enter the correct password")
          }
    }
};

timeline.push(loop_node_password);

Open in new window

 

This worked well.

Now, the problem I have is that var Responses = JSON.parse(data[0].responses); is returning Responses = {"Q0":"mypassword"}. Trying to access it using Responses.Q0 does not seem to work. Any help with this please? I need to access the value of the key Q0, I am not sure how to search for that in internet. I have tried Responses[Q0], Responses["Q0"], nothing works. All I need is to get the value of the "Q0":"mypassword" - i.e. mypassword. Any help please

All the best and thank you,
Dritan
JavaScriptPHP

Avatar of undefined
Last Comment
Dritan Nikolla

8/22/2022 - Mon
OMC2000

try to validate responses:

var key;

for (key in Responses) {
    if (Responses .hasOwnProperty(key)) {
        alert(key + " = " + Responses[key]);
// console.log(key + " = " + Responses[key]);
    }
}

Open in new window

ASKER CERTIFIED SOLUTION
Julian Hansen

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Dritan Nikolla

This worked Julian Hansen, thank you very much :). Also, thank you OMC2000 for helping.

Cheers,
Dritan
Julian Hansen

@Dritan,

You are welcome. I see this is your first question - Welcome to Experts Exchange - we hope to see more of you on the forums.

It appears your question has been answered - if so could you close the question. If you need assistance with this process please post back here.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
Dritan Nikolla

Thanks Julian Hansen