Convert results to JSON
This page documents an earlier version of InfluxDB OSS. InfluxDB 3 Core is the latest stable version.
API token hashing is enabled by default in InfluxDB OSS 2.9.0
Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — capture any plaintext tokens you still need before you upgrade.
For more information, see Token hashing.
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 OSS v2 and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.