公用通信对象结构
公用通信对象 (Common Communication Object),也称为 CCO,是用于在 ThingWorx Navigate 中管理数据传输的 JSON 结构。它包含后端系统的一个或多个实例中的数据和元数据,以及从这些系统检索到的对象。
CCO 结构
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"",
"instanceName":""
},
"itemListsData":[
{
"objectType":"",
"items":[
{
"id":{
"value":""
},
"Name":{
"value":""
}
}
],
"metadata":{
"id":{
"label":"",
"type":""
},
"Name":{
"label":"",
"type":""
}
},
"typeData":{
}
}
]
}
],
"status":"",
"statusMessage":"",
"timeStamp":""
}
|
属性名称
|
说明
|
|
version
|
使用的 CCO 结构版本。
属性类型为字符串。
|
|
data
|
从后端系统检索到的信息。
属性类型为字符串。
|
|
adapter
|
包含从其中检索数据的后端系统实例的相关信息。
|
|
thingName
|
表示 ThingWorx Navigate 中后端系统的适配器事物的名称。
属性类型为字符串。
|
|
instanceName
|
后端系统的特定实例的名称。
属性类型为字符串。
|
|
ItemListsData
|
项和元数据的列表。列表中每个实例内的项必须是相同的对象类型。
|
|
objectType
|
检索的对象的类型。
属性类型为字符串。
|
|
items
|
项和项值的列表。
|
|
value
|
特定项的值。
属性类型为字符串。
|
|
metadata
|
关于属性的信息,通用于所有项。
|
|
typeData
|
有关 objectType 的其他信息。仅在极少数情况下使用。
属性类型为 JSON 对象。
|
|
status
|
数据检索的状况。
属性类型为字符串。
|
|
statusMessage
|
有关数据检索状况的消息。
属性类型为字符串。
|
|
timeStamp
|
数据检索的时间戳。
属性类型为字符串。
|
CCO 结构示例
1. 以下示例包括一个项和一个对象类型。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
2. 以下示例包括一个项和两个不同的对象类型。由于每个 items 数组仅包含一个对象,因此存在一个项。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
3. 以下示例包括两个项和一个对象类型。由于每个 items 数组包含两个对象,因此有两个项。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR1"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}
4. 以下示例包括两个项和两个对象类型。由于每个 items 数组包含两个对象,因此有两个项。
{
"version":"1.0.0",
"data":[
{
"adapter":{
"thingName":"PTC.WCAdapter",
"instanceName":"windchill"
},
"itemListsData":[
{
"objectType":"PTC.ChangeMgmt.ChangeRequest",
"items":[
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:258323"
},
"Name":{
"value":"CR"
}
},
{
"id":{
"value":"OR:wt.change2.WTChangeRequest2:32456"
},
"Name":{
"value":"CR2"
}
}
],
"metadata":{
"id":{
"label":"Id",
"type":"string"
},
"Name":{
"label":"Change Request Name",
"type":"string"
}
}
},
{
"objectType":"PTC.Workflow.WorkItem",
"items":[
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"Low"
}
},
{
"Category#Display":{
"value":"Cost Reduction"
},
"RequestPriority#Display":{
"value":"High"
}
}
],
"metadata":{
"Category#Display":{
"label":"Category",
"type":"string"
},
"RequestPriority#Display":{
"label":"Request Priority",
"type":"string"
}
}
}
]
}
],
"status":"200",
"statusMessage":"OK",
"timeStamp":" 2019-01-02 06:43:19.77"
}