我正在使用 Kony Studio 5.5 进行跨平台开发。我使用JSON服务检索数据。我想将数据打印在一个段中,但由于其中不在集合中,所以无法映射其中的一些数据。
"chartStat": " CHART NOT PREPARED ",
"passengers": [{
"trainBookingBerth": "RAC9 , 8,GN ",
"trainCurrentStatus": " CNF ",
"trainPassenger": "Passenger 1"
}],
"trainBoard": "Kovilpatti",
"trainBoardCode": "CVP",
"trainDest": "Chennai Egmore",
在上面的有效负载中,我可以将
passengers
映射到该段,但是我也想将trainBoard
,trainBoardCode
和trainDest
映射到该段。 最佳答案
如果使用的是Kony服务编辑器,请根据需要解析输出。通过解析结果,可以隔离所需的参数-即:过滤从服务返回的结果-仅在客户端需要,并且采用我们可以指定的格式。
如果细分中有三个标签,并且想要显示服务返回的passengers
详细信息,请按照以下步骤操作:
id
时,解析您的JSON数据,请记住要使用该段的子级小部件的id
作为odt_code作为输出参数。 [
{ "labelOneId": "RAC1 , 8,GN ", "labelTwoId": " CNF 1", "labelThreeId": "Passenger 1" },
{ "labelOneId": "RAC2 , 8,GN ", "labelTwoId": " CNF 2", "labelThreeId": "Passenger 2" },
{ "labelOneId": "RAC3 , 8,GN ", "labelTwoId": " CNF 3", "labelThreeId": "Passenger 3" },
{ "labelOneId": "RAC3 , 8,GN ", "labelTwoId": " CNF 4", "labelThreeId": "Passenger 4" }
]
其中
id
,labelOneId
和labelTwoId
将是用于需要显示数据的段的子代的ID。注意:如果未使用children小部件的id,则必须使用“for”循环迭代器来格式化数据。
从问题中提供的样本值中提取值:
var jsonReturned={
"chartStat": " CHART NOT PREPARED ",
"passengers": [{
"trainBookingBerth": "RAC9 , 8,GN ",
"trainCurrentStatus": " CNF ",
"trainPassenger": "Passenger 1"
}],
"trainBoard": "Kovilpatti",
"trainBoardCode": "CVP",
"trainDest": "Chennai Egmore"
};
var oneVal = jsonReturned["passengers"]["0"]["trainBookingBerth"];
var twoVal = jsonReturned["passengers"]["0"]["trainCurrentStatus"];
var threeVal = jsonReturned["passengers"]["0"]["trainPassenger"];
var fourVal = jsonReturned["trainBoard"];
var fiveVal = jsonReturned["trainDest"];
var dataForSegment = [{
"labelOneId": oneVal,
"labelTwoId": twoVal,
"labelThreeId": threeVal,
"lableFourId": fourVal,
"labelFiveId": fiveVal
}];
尝试将设置为
labelThreeId
作为段数据。如果要添加任何其他值,则必须类似地从JSON对象提取数据并形成适合您的细分的集合。