CPI:如何从JSon或xml有效负载中查找最后一条记录。

2020-08-17 03:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 当列表末尾 has_...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

当列表末尾 has_more ='true'时,我需要从发票有效载荷中获取最后一条记录,并将该ID存储在属性中。

任何有关groovy脚本或任何其他解决方案的帮助都是有帮助的。

下面是示例结构:

 {
   " object":"列表",
   "数据":[
     {
       " id":" in_ID1",
       " object":"发票",
       " country":" US"
       "行":{
         " object":"列表",
         "数据":[
           {
             " id":" il_ID1",
             " object":" line_item",
             "金额":50000,
  }
         " has_more":否,
         "总数":1
         " url":"/img/v1/发票/in_ID/行"
 transfer_data":null,
       " webhooks_delivered_at":null
     }
     {
       " id":" in_ID2",
       " object":"发票",
       " country":" US"
       "行":{
         " object":"列表",
         "数据":[
           {
             " id":" il_ID111",
             " object":" line_item",
             "金额":50000,
  }
  {
             " id":" il_ID222",
             " object":" line_item",
             "数量":500
 }
         " has_more":否,
         "总数":2
         " url":"/img/v1/发票/in_ID2/行"
 transfer_data":null,
       " webhooks_delivered_at":null
     }
   ],
   " has_more":是的,
   " url":"/img/v1/发票"
 } 
3条回答
zhangjiyang1323
2020-08-17 04:07

您好, Sriprasad Shivaram Bhat

感谢您建议JSON Slurper。 我对Groovy还是一个新手,在未导入groovy.json.Slurper的情况下遇到了问题。

出于无奈,我在SCN上发布了一个问题。 一如既往,您通过提及JSON Slurper再次帮助了我。

通过编写以下Groovy脚本,我的问题已得到解决:

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.json.JsonSlurper;
 导入org.json.simple。*;
 def消息processData(消息消息){
 //身体
  def body = message.getBody(java.io.Reader);
  JsonSlurper slurper =新的JsonSlurper()
  def json = slurper.parseText(body)
  for(def d:json.data)
  id = d.id
  def has_more = json.has_more.toString()
 //属性
  message.setProperty(" last_ID",id);
  message.setProperty(" has_more",has_more);
  返回消息;
  }
 

此致

Pavan G

一周热门 更多>