---
title: Convert results to JSON
description: Use json.encode() to convert query results to JSON and http.post() to send them to a URL endpoint.
url: https://docs.influxdata.com/influxdb/v2/process-data/common-tasks/convert_results_to_json/
estimated_tokens: 1545
product: InfluxDB OSS v2
version: v2
---

# Convert results to JSON

This page documents an earlier version of InfluxDB OSS. [InfluxDB 3 Core](/influxdb3/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](/influxdb/v2/admin/tokens/#token-hashing).

This example uses [NOAA water sample data](/influxdb/v2/reference/sample-data/#noaa-water-sample-data).

Send each record to a URL endpoint using the HTTP POST method. This example uses [`json.encode()`](/flux/v0/stdlib/json/encode/) to convert a value into JSON bytes, then uses [`http.post()`](/flux/v0/stdlib/http/post/) to send them to a URL endpoint.

The following query:

-   Uses [`filter()`](/flux/v0/stdlib/universe/filter/) to filter the `average_temperature` measurement.
-   Uses [`mean()`](/flux/v0/stdlib/universe/mean/) to calculate the average value from results.
-   Uses [`map()`](/flux/v0/stdlib/universe/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 the `jsonStr` column.
-   Uses [`http.post()`](/flux/v0/stdlib/http/post/) to send the `jsonStr` value from each record to an HTTP endpoint.

```js
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)
            )
        })
    )
```

[tasks](/influxdb/v2/tags/tasks/)
