Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析JSON响应中的JSON对象_Javascript_Json_Object - Fatal编程技术网

Javascript 解析JSON响应中的JSON对象

Javascript 解析JSON响应中的JSON对象,javascript,json,object,Javascript,Json,Object,我正在尝试使用一点javascript来恢复货币转换 使用fixer.io中的API,我请求 我得到了一个对象,但我不知道如何深入到我需要的货币价值 到目前为止,我的代码是: function GetMarketRate() { var url = 'http://api.fixer.io/latest?symbols=_CURR&base=GBP'.replace("_CURR", "@Model.CurrencyId"); var xhr = new XMLHt

我正在尝试使用一点javascript来恢复货币转换

使用fixer.io中的API,我请求

我得到了一个对象,但我不知道如何深入到我需要的货币价值

到目前为止,我的代码是:

function GetMarketRate() {

    var url = 'http://api.fixer.io/latest?symbols=_CURR&base=GBP'.replace("_CURR", "@Model.CurrencyId");

    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);

    xhr.onload = function () {
        var res = window.JSON.parse(xhr.responseText);

        //Drill down

    };

    xhr.onerror = function () {
        //Process error
    };

    xhr.send();

};
我正在使用MVC和Razor修改URL以获得货币。 然后,我将获取十进制值,并在页面加载时将其插入到内联div中

我唯一的问题是,实际上要达到这个值。
我的API请求是这样的,它只会回调一个值-不知道这是否有帮助。

返回的对象看起来像:

{"base":"GBP","date":"2015-06-18","rates":{"USD":1.5912}}
因此,您应该能够使用:

res.rates.USD // 1.5912

什么是
console.log(res)输出?因为我们不知道JSON是如何组织的,所以我们不能告诉你(除了写一篇关于如何在JS中访问对象属性和循环数据的完整指南之外)。使用
res.rates.USD
不起作用?console.log(res)返回:object{base:“GBP”,date:“2015-06-18”,rates:object}我需要能够在Razor中使用@Model.CurrencyId来定义货币。我如何将其编码为包含此内容?这实际上有很大帮助。我可以使用res.rates.@Model.CurrencyId,这可以满足我的需要。非常感谢。我不熟悉Razor,但只要它对代码进行预处理,它就应该可以工作。Razor是一个ASP.NET视图引擎,长话短说,是的,它在将响应返回到浏览器之前对页面进行预处理。