Source code for graphene.types.json

from __future__ import absolute_import

import json

from graphql.language.ast import StringValueNode

from .scalars import Scalar


[docs]class JSONString(Scalar): """ Allows use of a JSON String for input / output from the GraphQL schema. Use of this type is *not recommended* as you lose the benefits of having a defined, static schema (one of the key benefits of GraphQL). """ @staticmethod def serialize(dt): return json.dumps(dt) @staticmethod def parse_literal(node): if isinstance(node, StringValueNode): return json.loads(node.value) @staticmethod def parse_value(value): return json.loads(value)