【问题标题】:How to modify json using JRS223 preprocessor in jmeter如何在jmeter中使用JRS223预处理器修改json
【发布时间】:2021-06-09 08:51:20
【问题描述】:

Json 主体如下所示:

{
    "access_key": "",
    "erid": "",
    "ch_sms": {
        "messages": [
            {
                "urlsh": false,
                "sp": "123",
                "vp": 20,
                "heid": 1,
                "teid": ,
                "peid": ,
                "tmid": 4,
                "msg": {
                    "txt": "hello"
                },
                "da": [
                    {
                        "number": "97278",
                        "cc": "IN",
                        "uid": "uid1",
                        "tags": [
                            "key",
                            "Value"
                        ]
                    }
                    
                ]
                
            }
        ],
        "metadata": {
            "chver": "1.0",
            "cburl": "",
            "heid": 1,
            "teid": ,
            "peid": ,
            "tmid": 4,
            "Oa": "",
            "flash": false,
            "tags": [
                "key",
                "tag1"
            ]
        }
    }
}

我们需要根据用户输入添加多个“da”部分。例如,如果我将 CSV 文件中的输入设为 3,则“da”部分将重复 3 次,如下所示:

{
    "access_key": "",
    "erid": "",
    "ch_sms": {
        "messages": [
            {
                "urlsh": false,
                "sp": "123",
                "vp": 20,
                "heid": 1,
                "teid": ,
                "peid": ,
                "tmid": 4,
                "msg": {
                    "txt": "hello"
                },
                "da": [
                    {
                        "number": "97278",
                        "cc": "IN",
                        "uid": "uid1",
                        "tags": [
                            "key",
                            "Value"
                        ]
                    },
                    {
                        "number": "97278",
                        "cc": "IN",
                        "uid": "uid1",
                        "tags": [
                            "key",
                            "Value"
                        ]
                    },
                    {
                        "number": "97278",
                        "cc": "IN",
                        "uid": "uid1",
                        "tags": [
                            "key",
                            "Value"
                        ]
                    }
                    
                ]
                
            }
        ],
        "metadata": {
            "chver": "1.0",
            "cburl": "",
            "heid": 1,
            "teid": ,
            "peid": ,
            "tmid": 4,
            "Oa": "",
            "flash": false,
            "tags": [
                "key",
                "tag1"
            ]
        }
    }
}

【问题讨论】:

    标签: json jmeter jmeter-plugins


    【解决方案1】:

    你可以试试这个,

    import org.json.simple.JSONObject
    
    JSONObject data = new JSONObject() 
    
    data.put("number", "97278")
    data.put("cc", "IN")
    data.put("uid", "uid1")
    data.put("tags", ["key","Value"])
    
    int da = Integer.parseInt(vars.get("da"))
    
    ArrayList<Object> listData = new ArrayList<Object>()
    
    for(int i=0; i < da; i++)
    {
        listData.add(data.toString())
    }
    
    log.info("da: " + listData )
    

    结果日志: da: [{"cc":"IN","number":"97278","uid":"uid1","tags":["key","Value"]}, {"cc":"IN ","number":"97278","uid":"uid1","tags":["key","Value"]}, {"cc":"IN","number":"97278", "uid":"uid1","tags":["key","Value"]}]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多