Javascript 解析JSON响应中的JSON对象
我正在尝试使用一点javascript来恢复货币转换 使用fixer.io中的API,我请求 我得到了一个对象,但我不知道如何深入到我需要的货币价值 到目前为止,我的代码是: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
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视图引擎,长话短说,是的,它在将响应返回到浏览器之前对页面进行预处理。