Merge pull request #415 from influxdata/flux/json-package

Flux JSON package
pull/432/head
Scott Anderson 2019-08-26 15:44:42 -06:00 committed by GitHub
commit d30bce8599
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,22 @@
---
title: Flux JSON package
list_title: JSON package
description: >
The Flux JSON package provides functions for working with JSON.
Import the `json` package.
menu:
v2_0_ref:
name: JSON
parent: Flux packages and functions
weight: 202
v2.0/tags: [functions, json, package]
---
JSON Flux functions provide tools for working with JSON.
Import the `json` package:
```js
import "json"
```
{{< children type="functions" show="pages" >}}

View File

@ -0,0 +1,47 @@
---
title: json.encode() function
description: The `json.encode()` function converts a value into JSON bytes.
menu:
v2_0_ref:
name: json.encode
parent: JSON
weight: 202
---
The `json.encode()` function converts a value into JSON bytes.
_**Function type:** Type conversion_
```js
import "json"
json.encode(v: "some value")
```
This function encodes [Flux types](/v2.0/reference/flux/language/types/) as follows:
- `time` values in [RFC3339](https://tools.ietf.org/html/rfc3339) format
- `duration` values in number of milliseconds since the epoch
- `regexp` values as their string representation
- `bytes` values as base64-encoded strings
- `function` values are not encoded and produce an error
## Parameters
### v
The value to convert.
_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_
## Examples
### Encode all values in a column in JSON bytes
```js
import "json"
from(bucket: "example-bucket")
|> range(start: -1h)
|> map(fn: (r) => ({
r with _value: json.encode(v: r._value)
}))
```