13

I want to use the currency data provided by https://raw.github.com/currencybot/open-exchange-rates/master/latest.json

As an initial test, I've created a cut-down version of this as an inline object:

var obj = [
{
    "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/",
    "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/",
    "timestamp": 1339036116,
    "base": "USD",
    "rates": {
        "EUR": 0.795767,
        "GBP": 0.645895,
        "JPY": 79.324997,
        "USD": 1
    }
}];

All I want to be able to do is somehow query/grep/filter the json object with, for example, "EUR" as the criteria and have it return a variable called 'rate' with a value of '0.795767' as a result.

I've looked at the JQuery grep and filter functions but I can't figure out how to isolate just the 'rates' section of the object and then to get the rate I want.

3 Answers 3

20
var obj = [
{
    "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/",
    "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/",
    "timestamp": 1339036116,
    "base": "USD",
    "rates": {
        "EUR": 0.795767,
        "GBP": 0.645895,
        "JPY": 79.324997,
        "USD": 1
    }
}];

obj[0].rates.EUR; // output: 0.795767

or

obj[0].rates['EUR']; output: //0.795767

DEMO

If you want to isolate rates in another variable and use that variable then try like following:

var rates = obj[0].rates;

Now,

rates.EUR;
rates.GBP;

and so on.

Sign up to request clarification or add additional context in comments.

2 Comments

Excellent, that's just what I wanted. I had no idea it would be so straightforward.
my json data is {"0":{"level1":"done","level2":"done","level3":"no"}} how can extract this into each variables? i tried like this using $.each method but returns undefined var level1 = ele[0].level1;
7

You can also use JSON.parse() function of Javascript to convert JSON String into Javascript JSON object.

var JSONObject = JSON.parse("{'value1' : 1, 'value2' : 2}");
console.log(JSONObject.value1);  // Prints '1'..

1 Comment

it is given me "undefined" . help please
0

data contains FRELD6 try to :

var reldte;
var sdata = JSON.parse(data);
 $(sdata).each(function () {
        reldte = RefineDate(this.FRELD6.toString());
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.