首页 > 其他分享 >groovy 字符串、json 动态拼接内容

groovy 字符串、json 动态拼接内容

时间:2024-04-01 13:11:06浏览次数:14  
标签:groovy skuId vars binding count json 拼接 put def

1.字符串拼接

def ids = [21321,3445,3456];
def size=ids.size();
vars.put("skuNum",size);
logs.add('sku数量:'+size);
StringBuffer sb = new StringBuffer();
def random = new java.util.Random();
for (int i = 0; i < size; i++) {
    def skuId = ids[i]
    binding.setVariable("skuId"+i, skuId);
    def count = random.nextInt(6)+2;//下单时每个skuID随机赋值一个下单数量
    def subOrderId = random.nextInt(999999)+1;
    vars.put("cnt",count);
    binding.setVariable("count"+i, count);
    logs.add('skuID:'+binding.getVariable("skuId"+i)+"   数量:"+binding.getVariable("count"+i));
    sb.append("{\"skuId\":"+binding.getVariable("skuId"+i)+",\"productName\":\"goapi测试\",\"saleCount\":"+binding.getVariable("count"+i)+",\"originPrice\":0.02,\"subtotalAmount\":0.04,\"couponTotalAmount\":0.01,\"activityTotalAmount\":0.01,\"outSkuld\":\""+binding.getVariable("skuId"+i)+"\",\"subOrderld\":\""+subOrderId+"\"},");
}
def orderSkus=sb.toString().substring(0, sb.toString().length() - 1);
vars.put("orderSkus",orderSkus);
logs.add('拼接后的字符串:'+orderSkus);
if(${channelId} == 6801669){
  def dateNow=${dateNow}+"A";
  vars.put("dateNow",dateNow);
  logs.add('抖音订单号:'+dateNow);
}

2.json 拼接

import groovy.json.JsonSlurper
def ReturnAddressDTO = runVars.get('ReturnAddressDTO');//获取上游的json对象,此时拿到的是String
def jsonObject = new JsonSlurper().parseText(ReturnAddressDTO)//转换为 jsonObject
jsonObject.put("policyTimeInDay",30);
jsonObject.put("policyType",1);
vars.put("ReturnAddressDTO",jsonObject);

 

标签:groovy,skuId,vars,binding,count,json,拼接,put,def
From: https://www.cnblogs.com/JojoMiss/p/18108192

相关文章

  • Jackson 2.x 系列【10】特征配置篇之 JsonFactory.Feature、JsonGenerator.Feature、J
    有道无术,术尚可求,有术无道,止于术。本系列Jackson版本2.17.0源码地址:https://gitee.com/pearl-organization/study-jaskson-demo文章目录1.前言2.特征说明2.1JsonFactory.Feature2.2JsonGenerator.Feature2.3JsonParser.Feature3.配置特征1.前言本篇......
  • delphi基于数据模型(data-model)JSON序列
    delphi基于数据模型(data-model)JSON序列需要DELPHI10.2以上版本才能支持。1)实现JSON序列/还原的泛型模板unitserialize;///<author>cxg2024-1-11</author>interfaceusessystem.Classes,System.SysUtils,System.JSON.Serializers;typeTSerial<T:record>......
  • Json文件格式及Cpp解析
    JSON(JavaScriptObjectNotation)用于存储和传输数据,通常用于服务器-->Web端的数据传输JSON示例:{"employees":[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastN......
  • JSON Editor 中文文档
    JSONEditorJSONEditor根据定义的JSONSchema生成了一个Html表单来对JSON进行编辑。它完整支持JSONSchema的版本3和版本4,并且它集成了一些流行的CSS框架,例如bootstrap,foundation,andjQueryUI等。JSONEditor生成的编辑器支持输入框、下拉框、等几乎所有的html5输入......
  • 多层JSON字符串对象的差异化比较
    importcn.hutool.core.util.ObjUtil;importcn.hutool.core.util.StrUtil;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.node.ObjectNode;importlombok.Data;importl......
  • 探索多种数据格式:JSON、YAML、XML、CSV等数据格式详解与比较
    1.数据格式介绍数据格式是用于组织和存储数据的规范化结构,不同的数据格式适用于不同的场景。常见的数据格式包括JSON、YAML、XML、CSV等。数据可视化|一个覆盖广泛主题工具的高效在线平台(amd794.com)https://amd794.com/jsonformat2.JSON(JavaScriptObjectNotation)......
  • Fastjson反序列化分析
    依赖先研究1.2.24版本的,版本高了就有waf了,不过也能绕,高版本以后再说<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.24</version></dependency><dependency><groupId&g......
  • python-json数据、pyecharts的入门使用(折线图)
    目录1. json数据格式 1.1 json.dumps()1.2 json.loads()2. pyecharts的入门使用(折线图)2.1  pyecharts使用的简单示例2.1.1 导包2.1.2 创建对象2.1.3 添加x轴数据2.1.4 添加y轴数据2.1.5 设置全局配置项2.1.6 render()方法,生成图像3. ......
  • JackJson对象转化
    当接受jsonKey首字母为大写的时候需要用JSONProperty配合JsonIngore处理packagecom.example.demoboot.dto;importcom.example.demoboot.entity.Person;importjava.util.List;/***封装response返回的data对象对象太多可以用宽对象,把所有需要的都写一起**......
  • 最详细爬虫零基础教程10——json格式提取之jsonpath
    文章目录一、json数据解析二、案例演示1.解析获得数据2.简化代码3.豆瓣json数据解析总结一、json数据解析用来解析多层嵌套的json数据;JsonPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript,Python,PHP和Java。语......