Javascript json查询响应值显示未定义
我正在使用Javascript json查询响应值显示未定义,javascript,json,odata,sapui5,Javascript,Json,Odata,Sapui5,我正在使用ODATA服务从表中获取生成的数据集。我以JSON格式获取数据,如下所示 $.getJSON("../TEST_ODATA3.xsodata/COMPAREDATA?$format=json&$select=WERT&$filter=LIFNR eq '"+supplier+"' and ARTIKEL eq '"+artikel+"' and STOREID eq '"+storeId+"' and BUSINESS_DATE eq datetime'"+date_t
ODATA服务
从表中获取生成的数据集
。我以JSON格式获取数据,如下所示
$.getJSON("../TEST_ODATA3.xsodata/COMPAREDATA?$format=json&$select=WERT&$filter=LIFNR eq '"+supplier+"' and ARTIKEL eq '"+artikel+"' and STOREID eq '"+storeId+"' and BUSINESS_DATE eq datetime'"+date_time+"'",
function(response){
for (i = 0; i < response.d.results.length; i++) {
console.log(response.WERT);}});
一个干净的压痕会告诉你问题所在。
您的对象WERT位于d.results数组中,您必须通过response.d.results[0]访问它。WERT
results
根据您的json是一个数组。你可以这样访问它
response.d.results[0].WERT
对于循环,我更喜欢使用jQuery:
$.getJSON("../TEST_ODATA3.xsodata/COMPAREDATA?$format=json&$select=WERT"+
"&$filter=LIFNR eq '"+supplier+
"' and ARTIKEL eq '"+artikel+
"' and STOREID eq '"+storeId+
"' and BUSINESS_DATE eq datetime'"+date_time+"'",
function(response){
$.sap.each(response.d.results, function(i, oItem){
console.log(oItem.WERT);
});
});
您能在这里发布回复吗?@anurupr我已经更新了我的问题供您参考。请尝试response.d.results[0]。WERT
但回复无效。这是单独运行url时的输出?为什么不使用ODataModel检索OData?谢谢cybril。你的建议也是对的。干杯如果需要,可以清理json和javascript代码。我经常在接收未格式化的json代码时使用它:)
$.getJSON("../TEST_ODATA3.xsodata/COMPAREDATA?$format=json&$select=WERT"+
"&$filter=LIFNR eq '"+supplier+
"' and ARTIKEL eq '"+artikel+
"' and STOREID eq '"+storeId+
"' and BUSINESS_DATE eq datetime'"+date_time+"'",
function(response){
$.sap.each(response.d.results, function(i, oItem){
console.log(oItem.WERT);
});
});