Mkose
Mkose

Reputation: 43

I want to acess the value of this json object without using the key name

{ 
"callExpDateMap": {
        "2020-03-06:2": {
            "305.0": [
                {
                    "putCall": "CALL,
                }
               ]
              }
             }
            }

So this is my json object.And As you can see in "callExpDateMap",there is a date("2020-03-06:2" and then there is a value("305.0").The date("2020-03-06:2") and price("305.0") values will not be the same in every response.So If I want to access the value of "putCall" (Please remember that I can't use the key of the date and the price because it keeps changing in every response), How can I do this?...I'm using nodejs.

Upvotes: 1

Views: 117

Answers (2)

Sohail Ashraf
Sohail Ashraf

Reputation: 10604

You could loop over the object and get the value,

Example:

let test = {
  callExpDateMap: {
    "2020-03-06:2": {
      "305.0": [
        {
          putCall: "CALL"
        }
      ]
    }
  }
};

let callExpDateMap = test.callExpDateMap;


for(const dateValue in callExpDateMap) {
  for(const put in callExpDateMap[dateValue]) {
    console.log(callExpDateMap[dateValue][put][0]['putCall']);
  }
  
}

or you could use Object.keys to get the value. it's simpler then the previous approach;

let obj = {
  callExpDateMap: {
    "2020-03-06:2": {
      "305.0": [
        {
          putCall: "CALL"
        }
      ]
    }
  }
};

let callExpDateMap = obj.callExpDateMap;
let dateKey = Object.keys(callExpDateMap);
let price =  Object.keys(callExpDateMap[dateKey]);
let putCall = callExpDateMap[dateKey][price];
console.log(putCall);

Upvotes: 0

Abhinav Jain
Abhinav Jain

Reputation: 124

You need to pass this JSON to a function and call that function recursively with each inner object (or value of JSON key) and when value is string just print it or use in your way.

forEach(Object.keys(jsonobj))

    function myfunc(key){
      if((typeof jsonobj[key])==object){
        forEach(Object.keys(jsonobj[key]));
    }else{
        console.log(jsonobj[key])
      }
    }
    }

Upvotes: 1

Related Questions