
Product
Introducing Socket Fix for Safe, Automated Dependency Upgrades
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
graphql-type-json
Advanced tools
The graphql-type-json npm package provides a way to include JSON objects as a GraphQL type. It allows for the use of arbitrary JSON objects as input or output types within a GraphQL schema, which can be useful when the shape of the data is not known in advance or when a flexible data structure is required.
JSON scalar type for GraphQL schema
This feature allows you to use JSON as a scalar type in your GraphQL schema. You can define a field to accept or return a JSON object without specifying its structure in advance.
{"GraphQLJSON": require('graphql-type-json').GraphQLJSON}
Using JSON type in GraphQL queries and mutations
With graphql-type-json, you can define query and mutation fields that accept or return JSON objects. This is useful for endpoints that deal with dynamic or unstructured data.
{"typeDefs": "type Query { getArbitraryData: JSON } type Mutation { submitArbitraryData(data: JSON): Boolean }"}
This package includes a collection of custom GraphQL scalar types, including a JSON type similar to graphql-type-json. It offers a wider range of scalars for different use cases, such as Date, Time, DateTime, EmailAddress, and more.
Similar to graphql-type-json, graphql-tools-types provides additional types for GraphQL, including a JSON type. It also includes other types like Void, Regex, and more, which can be useful for extending the capabilities of a GraphQL schema.
JSON scalar types for GraphQL.js.
This package exports a JSON value scalar GraphQL.js type:
import GraphQLJSON from 'graphql-type-json';
It also exports a JSON object scalar type:
import { GraphQLJSONObject } from 'graphql-type-json';
These types can also be imported as follows using CommonJS:
const { GraphQLJSON, GraphQLJSONObject } = require('graphql-type-json');
GraphQLJSON
can represent any JSON-serializable value, including scalars, arrays, and objects. GraphQLJSONObject
represents specifically JSON objects, which covers many practical use cases for JSON scalars.
You can use this in a programmatically-constructed schema as with any other scalar type:
import GraphQLJSON, { GraphQLJSONObject } from 'graphql-type-json';
export default new GraphQLObjectType({
name: 'MyType',
fields: {
myValue: { type: GraphQLJSON },
myObject: { type: GraphQLJSONObject },
},
});
When using the SDL with GraphQL-tools, define GraphQLJSON
as the resolver for the appropriate scalar type in your schema:
import { makeExecutableSchema } from 'graphql-tools';
import GraphQLJSON, { GraphQLJSONObject } from 'graphql-type-json';
const typeDefs = `
scalar JSON
scalar JSONObject
type MyType {
myValue: JSON
myObject: JSONObject
}
# ...
`;
const resolvers = {
JSON: GraphQLJSON,
JSONObject: GraphQLJSONObject,
};
export default makeExecutableSchema({ typeDefs, resolvers });
FAQs
JSON scalar types for GraphQL.js
The npm package graphql-type-json receives a total of 0 weekly downloads. As such, graphql-type-json popularity was classified as not popular.
We found that graphql-type-json demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.
Product
We’re excited to announce a powerful new capability in Socket: historical data and enhanced analytics.