How to post json data from Arduino

I want to post data that is getting from the sensor for every 5 Seconds to my application in JSON format.Initially, I'm getting data as int and converting into String.

for example: if data=15, it is converting into string

String st=String(data);

Now I want to post st in JSON for every 5 seconds

 int S2 = http.sendRequest("PUT", "{\"itemId\":\"64006A962B71A1E7B3A0428637DA997C.327681\",\"item\":{\"Properties\":{\"AssetSensorDistance\":\"+st+\"}},\"operationType\":\"Update\",\"originalItem\":{\"Work_Order\":{\"ItemId\":\"64006A962B71A1E7B3A0428637DA997C.327681\"},\"Properties\":{\"AssetSensorDistance\":\"+st1+\"}}}");
 Serial.print("Sensor Status: ");
 Serial.println(S2);

st1 is previous value, it is printing httpcode -2(invalid Syntax)

can anyone help me regarding this issue

Thanks in Advance

POST not PUT

Same issue again, it is not about PUT or POST. I think it is syntax issue or error

int S2 = http.sendRequest("PUT", "{\"itemId\":\"64006A962B71A1E7B3A0428637DA997C.327681\",\"item\":{\"Properties\":{\"AssetSensorDistance\":\"+st+\"}},\"operationType\":\"Update\",\"originalItem\":{\"Work_Order\":{\"ItemId\":\"64006A962B71A1E7B3A0428637DA997C.327681\"},\"Properties\":{\"AssetSensorDistance\":\"+st1+\"}}}");

this isn't escaped properly if you are doing String concatenation here:

... e\":\"+st+\"}},\ ...

You may be interested in:

jWrite - a really simple JSON writer in C

and even:

jRead - an in-place JSON element reader

Yours,
TonyWilk