Convert results to JSON
This page documents an earlier version of InfluxDB OSS. InfluxDB 3 Core is the latest stable version.
This example uses NOAA water sample data.
Send each record to a URL endpoint using the HTTP POST method. This example uses json.encode() to convert a value into JSON bytes, then uses http.post() to send them to a URL endpoint.
The following query:
- Uses 
filter()to filter theaverage_temperaturemeasurement. - Uses 
mean()to calculate the average value from results. - Uses 
map()to create a new column,jsonStr, and build a JSON object using column values from the query. It then byte-encodes the JSON object and stores it as a string in thejsonStrcolumn. - Uses 
http.post()to send thejsonStrvalue from each record to an HTTP endpoint. 
import "http"
import "json"
from(bucket: "noaa")
    |> filter(fn: (r) => r._measurement == "average_temperature")
    |> mean()
    |> map(fn: (r) => ({r with jsonStr: string(v: json.encode(v: {"location": r.location, "mean": r._value}))}))
    |> map(
        fn: (r) => ({
            r with
            status_code: http.post(
                url: "http://somehost.com/",
                headers: {x: "a", y: "b"},
                data: bytes(v: r.jsonStr)
            )
        })
    )Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.