Nainesh Patel
Nainesh Patel

Reputation: 598

For jmeter post request, how can I generate input json from csv file?

I am trying to make a post rest call to my service. My sample input json file is,

{ "$id": "1", "description": "sfdasd" }

I have one csv file which contain a bunch of id and description, So is there a option where I can convert csv file to json objects and pass them to post call?

Upvotes: 13

Views: 19493

Answers (3)

Dmitri T
Dmitri T

Reputation: 168157

Assuming your CSV file is called test.csv, located in JMeter's "bin" folder and looks like:

CSV Example Structure

  1. Add CSV Data Set Config to your Test Plan and configure it as follows:

    enter image description here

  2. You can inline the defined JMeter Variables directly into your request body like:

    {
      "$id": "${id}",
      "description": "${description}"
    }
    

    JMeter HTTP Request

  3. So when you run the test the variables placeholders will automatically be substituted with the values from the CSV file in the HTTP Request sampler:

    enter image description here

See Using CSV DATA SET CONFIG article for more information on JMeter tests parameterization using CSV files.

Upvotes: 22

Ori Marko
Ori Marko

Reputation: 58862

Json is just text. Send as is with the variable id taken from csv:

 { "${id}": "1", "description": "sfdasd" }

Upvotes: 1

Siva M
Siva M

Reputation: 51

CSV data can be converted to JSON via a POJO using Jackson. If a POJO is not already defined or required, you can always use the Java Collection classes to store parsed data and later convert it to JSON. http://www.novixys.com/blog/convert-csv-json-java/ is a good reference on how to convert csv to java. You can check the following links too. 1. directly convert CSV file to JSON file using the Jackson library 2. Converting an CSV file to a JSON object in Java

Upvotes: 0

Related Questions