通过 xsodata 访问 SAPUI5 中的 JSON 对象
Accessing JSON object in SAPUI5 via xsodata
我尝试在 sap ui5 中访问我的 json 对象的值,但是 getproperty 函数无法访问所需的数据。
但是,首先,我创建了一个包含一些服务定义的 xsodata 文件,例如
"CUSTOMER_ATTR_G3" as "Customers";
然后我尝试使用以下代码在 view.js 文件中获取这些数据:
oModel.loadData("UserInterface_G3/SERVICES/CUSTOMER_ATTR_G3.xsodata/Customers?$select=CUSTOMER_ID,CUSTOMER_DESCRIPTION&$format=json");
当我使用 console.log(oModel) 时,我在 odata 部分看到值在对象中,但我无法访问它们。以下屏幕截图应显示对象的结构:
我试过例如:
console.log(oModel.getProperty('/CUSTOMER_DESCRIPTION'));
或
console.log(oModel.getProperty('results/CUSTOMER_DESCRIPTION'));
但是我无法访问对象的值。
有人对此有想法吗?
console.log(oModel.getProperty('results/CUSTOMER_DESCRIPTION'));
您需要像这样访问您的 属性:
console.log(oModel.getProperty('d/results/0/CUSTOMER_DESCRIPTION'));
您忘记了数组中的位置。你的 Path 需要位置,所以如果你想获得第一个条目 CS_0001
那么你必须写 result/0/CUSTOMER_DESCRIPTION
。
编辑:
实际上这取决于您的型号,以及您如何访问 属性。你能告诉我你是如何定义你的 oModel 的吗?
我尝试在 sap ui5 中访问我的 json 对象的值,但是 getproperty 函数无法访问所需的数据。 但是,首先,我创建了一个包含一些服务定义的 xsodata 文件,例如
"CUSTOMER_ATTR_G3" as "Customers";
然后我尝试使用以下代码在 view.js 文件中获取这些数据:
oModel.loadData("UserInterface_G3/SERVICES/CUSTOMER_ATTR_G3.xsodata/Customers?$select=CUSTOMER_ID,CUSTOMER_DESCRIPTION&$format=json");
当我使用 console.log(oModel) 时,我在 odata 部分看到值在对象中,但我无法访问它们。以下屏幕截图应显示对象的结构:
我试过例如:
console.log(oModel.getProperty('/CUSTOMER_DESCRIPTION'));
或
console.log(oModel.getProperty('results/CUSTOMER_DESCRIPTION'));
但是我无法访问对象的值。
有人对此有想法吗?
console.log(oModel.getProperty('results/CUSTOMER_DESCRIPTION'));
您需要像这样访问您的 属性:
console.log(oModel.getProperty('d/results/0/CUSTOMER_DESCRIPTION'));
您忘记了数组中的位置。你的 Path 需要位置,所以如果你想获得第一个条目 CS_0001
那么你必须写 result/0/CUSTOMER_DESCRIPTION
。
编辑:
实际上这取决于您的型号,以及您如何访问 属性。你能告诉我你是如何定义你的 oModel 的吗?