我正在使用 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映射到该段,但是我也想将trainBoardtrainBoardCodetrainDest映射到该段。

最佳答案

如果使用的是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" }
        ]
    

    其中idlabelOneIdlabelTwoId将是用于需要显示数据的段的子代的ID。
  • 之后,使用Kony.ui.segment小部件的set data方法设置数据。

  • 注意:如果未使用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对象提取数据并形成适合您的细分的集合。

    09-30 19:57
    查看更多