Windchill Navigate API > 使用 API > 擷取資料 > 重新格式化結果集
重新格式化結果集
API 以 CCO 格式提供資料。各種小器具需要不同格式的資料輸入,而這可能需要進一步處理以確保相容性。以下範例說明如何將資料提供給「格點」小器具,這特別需要資料負載作為其輸入。
檢查 API 服務提供的範例結果 JSON。您會發現,它們都遵循特定結構描述。
例如,讓我們考慮來自 Search 服務的結果 JSON:
{
"timeStamp": "2025-02-09 19:38:56.058",
"data": [
{
"Item ListsData": [
{
"metadata": {
"Number": {
"label": "Number",
"type": "STRING"
},
"Version": {
"label": "Version",
"type": "STRING"
},
"ID": {
"label": "ID",
"type": "STRING"
},
"Name": {
"label": "Name",
"type": "STRING"
},
"State#Display": {
"label": "State",
"type": "STRING"
}
},
"items": [
{
"Number": {
"value": "0000000027"
},
"Version": {
"value": "A.1 (Design)"
},
"ID": {
"value": "OR:wt.part.WTPart:603745"
},
"Name": {
"value": "TestPart001"
},
"State#Display": {
"value": "In Work"
}
},
{
"Number": {
"value": "0000000036"
},
"Version": {
"value": "A.3 (Design)"
},
"ID": {
"value": "OR:wt.part.WTPart:668555"
},
"Name": {
"value": "TestPart007"
},
"State#Display": {
"value": "In Work"
}
}
],
"objectType": "PTC.ProdMgmt.Part"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.VOps.WCOperationAdapter"
}
}
],
"statusMessage": "OK",
"status": "200"
}
此處的值 (由零件清單組成) 會在 [result].data[0].Item ListsData[0].items 以 JSON 陣列形式傳回。
我們可以使用 JS helper 服務擷取此資料。假設 "inputs" 保留 Search 服務的結果:
if (inputs && inputs.data[0].Item ListsData[0].items) {
result = inputs.data[0].Item ListsData[0].items;
} else {
result = {};
}
您可以將此零件清單作為資料負載傳回。在此,結果資料負載的結構描述是資料形式 "Views":
result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName: "InfoTable",
dataShapeName: "Views"
});
if (inputs && inputs.data[0].Item ListsData[0].items) {
partsList = inputs.data[0].Item ListsData[0].items;
for (let index = 0; index < partsList.length; index++) {
let newEntry = {
name: partsList[index].Name.value + " " + partsList[index].Version.value,
type: undefined, // STRING
value: partsList[index].ID.value, // STRING
partPath: undefined // STRING
};
result.AddRow(newEntry);
}
}
這是否有幫助?