parseJson
The ParseJson
combinator provides a method to convert JSON strings into the unknown
type using the underlying
functionality of JSON.parse
. It also utilizes JSON.stringify
for encoding.
You can optionally provide a ParseJsonOptions
to configure both JSON.parse
and JSON.stringify
executions.
Optionally, you can pass a schema Schema<A, I, R>
to obtain an A
type instead of unknown
.
Example
import * as assert from "node:assert"import * as Schema from "effect/Schema"
assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson(Schema.Struct({ a: Schema.NumberFromString })))(`{"a":"1"}`), { a: 1 })
Since
3.10.0
Call Signature
parseJson<
S
>(schema
,options
?):transform
<SchemaClass
<unknown
,string
,never
>,S
>
Defined in: node_modules/.pnpm/effect@3.14.8/node_modules/effect/dist/dts/Schema.d.ts:2590
The ParseJson
combinator provides a method to convert JSON strings into the unknown
type using the underlying
functionality of JSON.parse
. It also utilizes JSON.stringify
for encoding.
You can optionally provide a ParseJsonOptions
to configure both JSON.parse
and JSON.stringify
executions.
Optionally, you can pass a schema Schema<A, I, R>
to obtain an A
type instead of unknown
.
Type Parameters
• S extends Any
Parameters
schema
S
options?
Returns
transform
<SchemaClass
<unknown
, string
, never
>, S
>
Examples
import * as assert from "node:assert"import * as Schema from "effect/Schema"
assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson(Schema.Struct({ a: Schema.NumberFromString })))(`{"a":"1"}`), { a: 1 })
import * as assert from "node:assert"import * as Schema from "effect/Schema"
assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson(Schema.Struct({ a: Schema.NumberFromString })))(`{"a":"1"}`), { a: 1 })
Since
3.10.0
Since
3.10.0
Call Signature
parseJson(
options
?):SchemaClass
<unknown
,string
>
Defined in: node_modules/.pnpm/effect@3.14.8/node_modules/effect/dist/dts/Schema.d.ts:2611
The ParseJson
combinator provides a method to convert JSON strings into the unknown
type using the underlying
functionality of JSON.parse
. It also utilizes JSON.stringify
for encoding.
You can optionally provide a ParseJsonOptions
to configure both JSON.parse
and JSON.stringify
executions.
Optionally, you can pass a schema Schema<A, I, R>
to obtain an A
type instead of unknown
.
Parameters
options?
Returns
SchemaClass
<unknown
, string
>
Examples
import * as assert from "node:assert"import * as Schema from "effect/Schema"
assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson(Schema.Struct({ a: Schema.NumberFromString })))(`{"a":"1"}`), { a: 1 })
import * as assert from "node:assert"import * as Schema from "effect/Schema"
assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson())(`{"a":"1"}`), { a: "1" })assert.deepStrictEqual(Schema.decodeUnknownSync(Schema.parseJson(Schema.Struct({ a: Schema.NumberFromString })))(`{"a":"1"}`), { a: 1 })
Since
3.10.0
Since
3.10.0