JSON Guides & Tutorials
Practical guides for every JSON task — from parsing basics in JavaScript and Python to schema validation, format conversions, and debugging. All free, with real code examples.
JSON Basics
- What is JSON?JSON data types, syntax rules, and parsing in JavaScript and Python.
- JSON Syntax ReferenceComplete syntax rules: strings, numbers, objects, arrays, and common errors.
- JSON ExamplesObjects, arrays, nested structures, and real-world API patterns.
- JSON ArraysSyntax, nested arrays, arrays of objects, and element access.
- JSON Array vs ObjectSyntax, access patterns, when to use each, JSON Schema for each, and arrays of objects (the most common API shape).
- JSON ObjectsKey-value pairs, nested objects, and property access patterns.
- How to Validate JSONFix syntax errors and understand syntax vs schema validation.
- Fix Invalid JSONRepair trailing commas, bad quotes, and unquoted keys.
- JSON CommentsWhy JSON has no comments, plus JSONC, JSON5, _comment key, and strip-json-comments workarounds.
- JSON Number PrecisionIEEE 754 double-precision limits: MAX_SAFE_INTEGER, BigInt handling, json-bigint, and Snowflake IDs.
JavaScript
- JSON.parse in JavaScriptParse JSON safely with try/catch, revivers, and edge cases.
- JSON.stringify TutorialPretty printing, replacers, toJSON behavior, and circular refs.
- JavaScript Object to JSONConvert JS objects to JSON strings with edge-case handling.
- JSON to JavaScript ObjectParse JSON strings into JavaScript objects safely.
- Parse Nested JSONAccess deeply nested values safely after parsing.
- JSON.parse ErrorsFix trailing commas, single quotes, and malformed input.
- Pretty Print JSON in JSFormat JSON with indentation in browsers and Node.js.
- Fetch JSON with fetch()GET and POST JSON: async/await, error handling, and Node.js.
- Read a JSON File in JavaScriptrequire(), fs.readFileSync, fs.promises, dynamic import, fetch.
- Sort JSON ArraySort by string, number, date, and multiple fields with compare functions.
- Merge JSON ObjectsSpread, Object.assign, deep merge, and structuredClone patterns.
- Deep Clone ObjectsJSON.parse/JSON.stringify, structuredClone, Lodash cloneDeep, and recursive clone.
- Filter JSON ArraysArray.filter by value, string, nested property, and multiple conditions.
- Write JSON to File (Node.js)fs.writeFileSync, fs.promises.writeFile, NDJSON appends, and atomic writes.
- Fix Circular Reference ErrorFix "Converting circular structure to JSON" with WeakSet replacers and flatted.
- JSON Date FormatISO 8601, Date serialization, reviver functions, and Unix timestamp pitfalls.
- JSON in localStorageStore and retrieve objects, error handling, expiry simulation, and React hook.
- Parse JSON in TypeScriptType-safe parsing: unknown type, type guards, generics, and Zod runtime validation.
- JSON in Node.jsJSON.parse, require(), fs.promises.readFile, JSON.stringify, fetch, and ESM JSON import.
- JSON in ReactFetch JSON with useEffect, custom useFetch hook, POST requests, TypeScript types, Zod, and Zustand.
- Transform JSON in JavaScriptRename keys, reshape nested objects, filter and aggregate with map(), filter(), reduce(), and structuredClone().
Python
- Parse JSON in Pythonjson.loads(), json.load(), error handling, and type mapping.
- Format JSON in PythonPretty print, minify, sort keys, and write JSON files.
- Read a JSON File in Pythonjson.load(), pathlib, error handling, dataclasses, and large files.
- Flatten JSON in JavaScriptRecursive flatten in 10 lines, the flat npm package with round-trip unflatten, lodash patterns, array index modes, and circular-reference handling.
- Write JSON to File in Pythonjson.dump with indent, sort_keys, custom encoders, NDJSON appends, and atomic writes.
- json.dumps() in PythonSerialize Python objects to JSON strings: indent, sort_keys, custom encoders, datetime.
- Compare JSON in Python== operator, deepdiff.DeepDiff(), ignore_order, and JSON file comparison.
- JSON to DataFrame in Pythonpd.read_json, pd.DataFrame + json.loads, json_normalize for nested keys, and orient parameter.
- JSON to CSV in Pythoncsv.DictWriter, pandas to_csv, nested object flattening, and edge case handling.
- JSON Decode in Pythonjson.loads() and json.load(): type mapping, object_hook, date parsing, Pydantic, and orjson.
- JSON in Python requestsSend JSON with json= param, parse responses with .json(), raise_for_status(), sessions, and retries.
- JSON in FastAPIPydantic BaseModel serialization, response_model output filtering, field aliases, nested models, 422 validation errors, JSONResponse, and auto-generated OpenAPI JSON.
- JSON in DjangoJsonResponse for JSON responses, json.loads(request.body) for plain views, DRF request.data auto-parsing, ModelSerializer in 5 lines, nested serializers, is_valid() validation, and custom error handlers.
Languages
- Parse JSON in Goencoding/json: Unmarshal, NewDecoder, struct tags, and dynamic JSON.
- Parse JSON in JavaJackson ObjectMapper, Gson, JsonNode navigation, and annotations.
- Parse JSON in C#System.Text.Json and Newtonsoft.Json: deserialize, JsonDocument, JsonNode, JObject.
- Parse JSON in PHPjson_decode(), json_encode(), associative arrays, JSON_THROW_ON_ERROR, and error handling.
- composer.json ExplainedPHP manifest reference: name, require, autoload (PSR-4), scripts, repositories, platform config — every field.
- .prettierrc Config ExplainedEvery Prettier option grouped by category, .prettierrc file format precedence, the 5 options 90% of teams override, plugins, Prettier 2→3 changes.
- appsettings.json (ASP.NET Core)ASP.NET Core configuration: provider chain, env-specific files, ConnectionStrings, IOptions binding, User Secrets, hot reload with IOptionsMonitor.
- vercel.json ExplainedVercel project config: rewrites, redirects, headers, crons, build/output settings, and when to migrate to vercel.ts.
- firebase.json ExplainedFirebase CLI config: hosting (rewrites/headers), functions, Firestore rules, Storage, Emulators, multi-site deploy targets.
- devcontainer.json (Dev Containers)Dev Containers + GitHub Codespaces config: image vs dockerFile, features for composable installs, lifecycle commands, VS Code extensions, port forwarding.
- turbo.json (Turborepo)Turborepo 2.x config: tasks (was "pipeline"), dependsOn/outputs/inputs, content-based hashing, remote caching, env scoping, workspace filters.
- Parse JSON in RubyJSON.parse, symbolize_names, JSON.load_file, JSON.generate, and Rails patterns.
- Parse JSON in Kotlinkotlinx.serialization, Gson, and Moshi: data classes, arrays, nulls, and Retrofit.
- Parse JSON in SwiftCodable, JSONDecoder, CodingKeys, nested objects, optional handling, and error cases.
- Parse JSON in Rustserde_json: from_str(), typed structs with #[derive(Deserialize)], optional fields, and file reading.
- JSON in C++ with nlohmann/jsonjson::parse(), j.dump(4), initializer list construction, NLOHMANN_DEFINE_TYPE macros for struct serialization, j.value() safe access, and RapidJSON SAX streaming for large files.
- Parse JSON in Dart / FlutterjsonDecode(), fromJson() factories, JSON arrays, HTTP API responses, and json_serializable.
- Spring Boot JSON@RequestBody, @ResponseBody, Jackson ObjectMapper, annotations, validation, and Problem Details.
- JSON in Spring BootJackson ObjectMapper auto-config, @RequestBody/@ResponseBody lifecycle, @JsonProperty naming, @JsonIgnore, global application.properties settings, custom serializers, and polymorphic JSON.
- JSON in Kotlin Spring BootData classes, jackson-module-kotlin, @RequestBody deserialization, nullable types, @JsonNaming, sealed class polymorphism, and @Valid Bean Validation.
- Laravel JSON APIRoute::apiResource, API Resources, Form Request validation, Eloquent $casts, and pagination.
- JSON in LaravelLaravel JSON with response()->json(), API Resources for Eloquent transformation, $request->json() body reading, Form Request validation, and paginated JSON collections.
- JSON in Vue 3Composition API fetch, useFetch (VueUse), reactive forms, Pinia store, TypeScript, and Nuxt.
- JSON in AngularHttpClient GET/POST, typed interfaces, RxJS operators, HTTP interceptors, and Angular 17+ standalone components.
- JSON in Svelte and SvelteKitSvelteKit load(), +server.ts endpoints, $state rune, event.fetch, form actions, and TypeScript.
- JSON to Java ClassJackson @JsonProperty, ObjectMapper, Java records, Lombok @Data, Gson, and jsonschema2pojo.
- JSON Marshal and Unmarshal in Goencoding/json: Marshal, Unmarshal, struct tags, omitempty, RawMessage, streaming Decoder, and custom methods.
- JSON in Ginc.JSON(), gin.H, ShouldBindJSON, binding tags for validation, RouterGroup versioning, and go-json / Sonic for faster serialization.
- JSON in Flaskjsonify(), request.get_json(), JSON error handling, Flask-RESTful REST API, CORS, and Flask 2.2+ shorthand.
- JSON in Ruby on Railsrender json:, --api mode, ActiveModel Serializers, jsonapi-serializer, Jbuilder, and error responses.
- JSON in Ruby on Rails: render json:, API Mode & Jbuilderrender json: with only: field whitelisting, Rails --api mode (26 fewer middleware layers), Jbuilder templates, Active Model Serializers, and rescue_from JSON error handling.
- JSON in NestJSDTOs with class-validator, ValidationPipe, ClassSerializerInterceptor, exception filters, and Swagger docs.
- JSON in ASP.NET CoreSystem.Text.Json options, [ApiController], minimal APIs, ProblemDetails errors, and Newtonsoft migration.
- JSON Performance in JavaScriptJSON.parse vs fast-json-stringify vs simdjson, V8 fast path, streaming large payloads, and MessagePack.
- Python Dataclasses and JSONasdict() + json.dumps(), dacite deserialization, datetime/enum handling, marshmallow-dataclass, and Pydantic.
- JSON Fields in Prisma ORMJson field type, path filter queries, TypeScript JsonValue, partial updates, and raw SQL for complex JSONB operations.
- JSON in Cloudflare WorkersResponse.json(), KV JSON storage, D1 JSON columns, Hono JSON routes, and Zod validation at the edge.
- JSON in Cloudflare Workers KVKV.put(key, JSON.stringify(value)), KV.get with type:"json", TTL expiry, key listing, and Durable Objects vs KV for JSON storage.
- JSON in FlutterjsonDecode(), json_serializable @JsonSerializable, http package API calls, null-safe casting, nested fromJson, and Freezed immutable models.
- JSON in React Nativefetch() API calls, AsyncStorage JSON persistence, Metro bundler JSON imports, TypeScript typing, and React Navigation JSON params.
- JSON Columns in Drizzle ORMjson()/jsonb() column types, .$type<T>() TypeScript generics, JSON path queries with sql operator, drizzle-zod, and GIN indexes.
- JSON in SupabaseJSONB columns, .contains() JSON queries, RPC functions, Edge Functions JSON responses, and supabase gen types TypeScript output.
- JSON Columns in TypeORM@Column jsonb decorator, column transformers for TypeScript type safety, QueryBuilder JSON path queries, and GIN index migrations.
- JSON Columns in SequelizeDataTypes.JSONB model definitions, Op.contains, Sequelize.literal() path queries, GIN index migrations, and TypeScript type mapping.
- JSON Fields in MongooseSchema.Types.Mixed, markModified() for in-place mutations, dot notation queries, subfield indexes, and toJSON() transforms.
- JSON in FirebaseFirestore withConverter() type-safe CRUD, Zod document validation, Realtime Database JSON tree, and Cloud Functions JSON handling.
- JSON in TursolibSQL json_extract() queries, json_each() array iteration, Drizzle text({mode:json}), embedded replica edge patterns, expression indexes.
- JSON in NitrodefineEventHandler auto-JSON, readBody() POST parsing, Zod validation, defineCachedEventHandler, useStorage, and createError.
- JSON in StrapiJSON field type, lifecycle hooks with Zod validation, bracket filter notation for JSON fields, and @strapi/client SDK TypeScript generics.
- Swagger JSON (OpenAPI)swagger.json structure with openapi/info/paths keys, $ref schema reuse in components/schemas, request/response schemas, auth schemes, and Swagger UI serving.
- JSON in Lua (cjson, dkjson, OpenResty, Redis, Roblox)cjson.encode/decode for OpenResty/nginx, cjson.safe error handling, dkjson for pure-Lua environments, Redis Lua script JSON, and Roblox HttpService JSONEncode.
Format Comparisons
- JSON vs YAMLSyntax differences and when to use each format.
- JSON vs XMLAPIs, documents, schemas, and migration tradeoffs.
- JSON vs BSONText interchange vs binary for MongoDB and APIs.
- JSONL Format (JSON Lines)Read, write, and stream .jsonl files in Python and JavaScript. Used by OpenAI, Hugging Face, Elasticsearch.
- CSV vs JSONFlat tables vs structured objects and when to convert.
- TOML vs YAMLReadable config formats: type safety and ecosystem fit.
- JSON vs ProtobufProtobuf is 3–10× smaller and 2–5× faster — when to use each.
- JSON vs MessagePackMessagePack is 20–50% smaller and 2–4× faster: encoding rules, JavaScript/Python usage, and when to use each.
Conversions
- JSON to XML TutorialConvert objects, arrays, and nulls to well-formed XML.
- XML to JSON TutorialMap XML elements and repeated tags to JSON structures.
- JSON to YAML TutorialConvert JSON to readable YAML for configs and manifests.
- JSON to MarkdownConvert JSON arrays to Markdown pipe tables, nested objects to lists, and generate API docs with json2md and tabulate.
- Convert JSON to SQLGenerate INSERT statements from JSON arrays: type mapping, nested objects, PostgreSQL JSONB.
- JSON to MongoDBInsert JSON with mongoimport, Node.js native driver, Mongoose, and pymongo. BSON date handling.
- JSON to ExcelConvert JSON to .xlsx with pandas, openpyxl, Excel Power Query, and SheetJS (Node.js).
- PostgreSQL JSON and JSONBStore and query JSON with PostgreSQL: ->, ->>, @>, GIN indexes, jsonb_set(), and array expansion.
- MySQL JSONMySQL JSON column type: JSON_EXTRACT(), ->, ->>, JSON_SET(), JSON_TABLE(), and multi-valued indexes.
- SQLite JSON Functions14 JSON1 functions: json_extract, json_each, json_set, expression indexes, and Python/Node.js examples.
- JSON to FormDataConvert JSON to FormData for file uploads: objectToFormData(), nested objects, arrays, and React examples.
- JSON to Parquetpandas and PyArrow: 5–10× smaller, Snappy/Gzip/Zstd compression, streaming large JSON, nested flattening.
- Elasticsearch JSONIndex documents, write match/term/range queries, define explicit mappings, and bulk-ingest with NDJSON.
JSON Schema
- JSON Schema TutorialValidate structure with type, required, enum, and format.
- JSON Schema ExamplesCopy-paste snippets for required fields, enums, and arrays.
- Required FieldsUse required correctly for objects, nested objects, and arrays.
- JSON Schema EnumRestrict values with string enums and nullable patterns.
- Array of Objects SchemaValidate arrays with items, required fields, and nesting.
- JSON Schema oneOf anyOf allOfCombine schemas with allOf, anyOf, oneOf, not, and if/then/else.
- JSON Schema $ref and $defsReusable definitions, recursive schemas, $anchor, and multi-file references.
- JSON Schema if/then/elseConditional validation: required fields by value, country-based patterns, and allOf multi-conditions.
- Validate JSON Schema in JavaScriptAjv tutorial: compile schemas, read errors, add formats, TypeScript integration.
- Validate JSON Schema in Pythonjsonschema library: validate(), Draft7Validator, FormatChecker, custom keywords, and error iteration.
- Zod Schema ValidationTypeScript-first JSON validation: z.object(), safeParse(), z.infer<>, and Zod ↔ JSON Schema conversion.
- JSON Schema Draft 2020-12New keywords: prefixItems, unevaluatedProperties, $dynamicRef. Migration from Draft-07 and Ajv 8.x config.
- JSON Schema Nullable FieldsAllow null with type arrays, nullable vs optional, OpenAPI 3.0 nullable:true vs 3.1, Zod .nullable(), and TypeScript types.
- JSON Schema String Formatsdate-time, email, uri, uuid, ipv4, ipv6 — full reference table, Ajv+ajv-formats setup, Python FormatChecker, and custom formats.
- JSON Schema additionalPropertiesBlock unknown keys with false, validate extras with a schema, patternProperties, and unevaluatedProperties.
- JSON Schema oneOf vs anyOf vs allOfoneOf (exactly one), anyOf (at least one), allOf (all must pass), not — examples, Ajv errors, discriminated unions.
- JSON Schema Annotationstitle, description, default, examples, readOnly, writeOnly, deprecated — annotation keywords with Ajv useDefaults.
- JSON Schema type KeywordAll 7 types: string, number, integer, boolean, array, object, null — type arrays, nullable patterns, and type mapping tables.
- JSON Schema for Form Validationreact-hook-form with Ajv resolver, Zod zodResolver, react-jsonschema-form auto-generated forms, and Yup vs Zod.
- Ajv JSON Schema ValidatorCompile schemas for 90k+ validations/sec, ajv-formats, TypeScript JTD inference, async validation, custom keywords.
- JSON Pointer (RFC 6901)Pointer syntax /a/b/0, ~0/~1 escape rules, uri-fragment #/path, JSON Patch integration, and JavaScript resolution.
- JSON Schema and OpenAPIOpenAPI 3.1 = JSON Schema 2020-12: nullable migration, $ref compatibility, discriminator, TypeScript generation.
- GraphQL JSON Response Formatdata/errors/extensions envelope, HTTP 200 on errors, variables, partial success, mutations, and GraphQL vs REST comparison.
- JSON in GraphQL: Variables and ScalarsGraphQL request JSON format, query variables, JSON scalar type, response envelope parsing, and graphql-codegen.
- JSON Schema for API DocumentationOpenAPI 3.1 with JSON Schema, components/schemas, $ref reuse, TypeScript generation, and Swagger UI/Redoc.
- JSON-RPC 2.0Stateless RPC over HTTP/WebSocket: request/response structure, error codes, notifications, batch calls, Node.js + Python.
- JSON-RPC 2.0: Protocol Guide, Ethereum & ImplementationFull JSON-RPC 2.0 spec: 4-field request format, batch arrays, error codes (-32700 to -32099), Ethereum eth_getBalance/eth_subscribe, WebSocket bidirectional RPC, and Node.js server implementation.
- JSON-RPC vs REST10-dimension comparison: when REST wins, when JSON-RPC wins (LSP, Ethereum, WebSocket APIs), batch requests, hybrid patterns.
- Semver Version Ranges ExplainedCaret (^) vs tilde (~) vs exact pins, MAJOR 0 rules, pre-release tags, and how npm/pnpm/yarn resolve ranges in package.json.
- ESLint Config (.eslintrc / Flat Config)ESLint 9 flat config (eslint.config.js) vs legacy .eslintrc.json, migration steps, plugins, typescript-eslint, ignore patterns.
- Jest Configuration Referencejest.config.js / .ts / "jest" key in package.json: the 30 options you actually use, transformers (babel/swc/ts), coverage thresholds, monorepo projects.
- Generate JSON Schema from JSONTools (quicktype, genson, online), inference rules, multi-example merging, and the refinements you must add by hand.
- JSON Schema for Config Files$schema key, VS Code json.schemas setting, schemastore.org catalog, writing your own config schema, and CI ajv validation.
- JSON Schema default KeywordAjv useDefaults: true, nested object defaults, OpenAPI default semantics, form library defaults, and mutable default pitfalls.
- JSON Schema Version MigrationDraft-04 → Draft-07 → 2020-12: items→prefixItems, definitions→$defs, Ajv 6→8 migration, and OpenAPI 3.0→3.1 nullable changes.
- JSON Schema Composition ExamplesallOf (intersection), oneOf (exactly one), anyOf (at least one), if/then/else conditional validation, discriminated unions, $ref extension, and common mistakes.
- JSON Schema Discriminator PatternDiscriminated unions with oneOf + const, if/then/else, OpenAPI discriminator object, Ajv, and Zod discriminatedUnion().
Tools & Workflows
- Format JSON in VS CodeFormat on Save, Prettier, and workspace settings.
- Escape JSON StringsEscape backslashes, quotes, and control characters.
- JSON Patch (RFC 6902)Apply add, remove, replace, move, copy, and test operations to JSON documents in JavaScript and Python.
- JSON Merge Patch (RFC 7396)Partial updates with null-as-delete: simpler than JSON Patch for field updates in REST APIs.
- JSON Concurrent UpdatesJSON Patch atomic operations, ETag/If-Match optimistic locking (412 Precondition Failed), JSON Merge Patch, PostgreSQL JSONB versioning, and CRDTs for conflict-free collaborative editing.
- Base64 ExplainedHow Base64 works: JWTs, data URIs, and HTTP auth.
- Base64 in JavaScriptbtoa/atob, Node.js Buffer, Unicode, data URIs, and HTTP auth.
- JSONPath Cheat SheetWildcards, slices, recursive descent, and filter expressions.
- How JWT WorksJWT anatomy: header, payload, signature, claims, HS256 vs RS256.
- Format JSON Command Linejq, python -m json.tool, Node.js one-liner, and curl + jq workflows.
- jq Filter ExamplesField selection, array filtering, map(), sort_by(), and 30+ practical jq expressions.
- Parse JSON in BashShell scripting with jq: assign fields to variables, loop arrays, process curl API responses.
- GeoJSON FormatRFC 7946: Point, LineString, Polygon, Feature, FeatureCollection, coordinates, and CRS.
- JSON-LD Explained@context, @type, @id, @graph — structured data for SEO rich results and knowledge graphs.
- JSON Mock Data GeneratorGenerate fake JSON with @faker-js/faker: 1000-record datasets, seeded random data, json-schema-faker.
- Best JSON Tools Online12 free browser-based tools: formatter, validator, diff, JSON to TypeScript, JWT decoder, and more.
- json-server: Mock REST APICreate a fake REST API from db.json in 60 seconds: CRUD, filtering, pagination, relationships, middleware.
- JWT Refresh TokenAccess/refresh token lifecycle, rotation strategy, Redis blacklist revocation, and silent refresh patterns.
- JWT Claims ReferenceAll RFC 7519 registered claims: iss, sub, aud, exp, nbf, iat, jti — validation rules, clock skew, custom claim naming, and Node.js examples.
- JWT in PythonPyJWT encode/decode, HS256 vs RS256, JWKS endpoint verification, refresh token pattern, and common errors.
- JWT Best PracticesShort expiry, HttpOnly cookies vs localStorage, alg:none attack, key rotation, token revocation, and production checklist.
- JWT Size: Limits and OptimizationCookie 4 KB limit (RFC 6265), nginx header limits, slim down claims, opaque tokens vs JWTs, and JWE compression.
- JSON Web Signature (JWS)JWS compact serialization, JOSE header, HS256/RS256/ES256/EdDSA algorithms, JSON Serialization, and alg:none security.
- REST API JSON Response FormatEnvelope pattern, RFC 9457 errors, cursor vs. offset pagination, camelCase vs. snake_case, and versioning.
- Express.js JSON APIexpress.json() middleware, response helpers, Zod validation, error middleware, CORS, and full CRUD example.
- JSON in Express.jsexpress.json() middleware for req.body parsing, res.json() responses, body size limits, JSON error handling middleware, Zod validation, and TypeScript req.body typing.
- Fastify JSON APISchema-based validation, fast-json-stringify serialization, TypeBox, CORS, rate limiting, and plugin architecture. 70k+ req/s.
- JSON Array Methods in JavaScriptmap, filter, reduce, find, sort (toSorted), flatMap, Object.groupBy, and deduplication — with TypeScript and real API examples.
- JSON:API SpecificationJSON:API 1.1: type+id resource objects, compound documents, sparse fieldsets, relationships, and RFC 9457 errors.
- RedisJSON: JSON in RedisJSON.SET, JSON.GET, JSON.ARRAPPEND, JSONPath queries, RediSearch indexing, Node.js and Python client examples.
- JSON in Redis StreamsXADD/XREAD for JSON event queues, consumer groups with at-least-once delivery, XACK and PEL retry, Pub/Sub vs Streams, RedisJSON, and Node.js ioredis implementation.
- FastAPI JSON ResponsesPydantic response_model, JSONResponse, ORJSONResponse (2–3× faster), HTTP 422 errors, streaming JSON.
- JSON Structured Loggingpino (Node.js) and python-json-logger: standard fields, requestId correlation, redaction, aggregator shipping.
- next.config.ts ReferenceNext.js 15 config: images remotePatterns, env, redirects, rewrites, headers, Turbopack, standalone output, and transpilePackages.
- JSON Web Key (JWK)JWK structure (kty/kid/use/alg), JWKS endpoint, zero-downtime key rotation, Node.js jose library, PEM↔JWK.
- JSON Canonicalization (JCS)RFC 8785 deterministic serialization for cryptographic signatures: Unicode key ordering, IEEE 754 numbers.
- JSON Web Encryption (JWE)RFC 7516 JWE compact format: 5-part structure, RSA-OAEP + AES-256-GCM, JS and Python encrypt/decrypt.
- JSON Config Filespackage.json, tsconfig.json, .eslintrc.json, .prettierrc, launch.json — key fields and common patterns.
- JSON in GitHub ActionsfromJSON(), toJSON(), dynamic matrices, parsing step outputs with jq, and storing config as JSON secrets.
- JSON and Environment Variablesdotenv loading, Zod env validation, JSON-in-env vars, .env file conventions, t3-env for Next.js, and secrets management.
- package.json Fields ExplainedEvery package.json field grouped by purpose: identity, dependencies, entry points (main/exports), scripts, engines, workspaces.
- tsconfig.json Fields ExplainedcompilerOptions reference: target, module, moduleResolution, strict family, paths, include/exclude, references, jsconfig.json.
- Web App Manifest (manifest.json)W3C Web App Manifest reference: required fields for PWA install, display modes, icons + maskable purpose, scope/start_url, and serving MIME type.
- launch.json (VS Code Debug)VS Code launch.json reference: launch vs attach, configurations for Node/Python/Chrome, compound configs, and ${workspaceFolder} variables.
- JSONP ExplainedJSON with Padding: how it works, why it existed (same-origin policy), security risks, and migrating to CORS. Legacy but persistent in old codebases.
- JSON to Pydanticmodel_validate_json(), nested models, Field defaults, ValidationError handling, and JSON Schema export in Python.
- JSON API PaginationOffset/limit, cursor-based, and keyset pagination patterns with JSON response shapes and SQL queries.
- JSON in Terraformjsonencode() for IAM policies, jsondecode() for secrets, .tf.json syntax, and terraform.tfvars.json.
- JSON Lines in PythonRead/write .jsonl with json.loads(), jsonlines package, pandas read_json(lines=True), and streaming large files.
- JSON Schema unevaluatedPropertiesunevaluatedProperties vs additionalProperties with allOf/if-then — Draft 2019-09+ and Ajv 8.
- JSON ResumeOpen standard for developer CVs: 10 sections, resume-cli, 30+ themes, GitHub Gist hosting, JSON Schema validation.
- JSON in KubernetesJSON manifests, kubectl -o json, JSONPath queries, JSON Patch, ConfigMap values, and Python generation.
- JSON in AWS LambdaAPI Gateway event.body, S3/SQS events, DynamoDB JSON, response format, CORS headers, and env config.
- JSON Internationalization (i18n)i18next file format, interpolation, pluralization (ICU), namespaces, Intl API, and translation tooling.
- JSON with OpenAI APIJSON mode, Structured Outputs with response_format, tool_choice, safe parsing, and Python/Node.js examples.
- JSON API Error HandlingRFC 7807 Problem Details, error envelope patterns, HTTP status codes, and client-side error handling.
- JWT in PythonPyJWT encode/decode, HS256 vs RS256, JWKS endpoint verification, refresh token pattern, and common errors.
- JSON Encode and Decode: JS, Python, Go, JavaJSON.stringify/parse, json.dumps/loads, json.Marshal/Unmarshal, ObjectMapper — copy-paste examples in 8+ languages.
- JSON Query Languages ComparedJSONPath, jq, JSONata, and SQL JSON functions — syntax, transformation power, aggregation, and a decision matrix.
- Sign JSON: HMAC, JWS, and JCSHMAC-SHA256, JWS compact serialization (jose), JCS canonicalization + ECDSA, and webhook signature verification (GitHub, Stripe, Shopify).
- JSON in WebAssemblyserde-wasm-bindgen vs string passing, wasm-bindgen JsValue, wasm-pack setup, Rust JSON processing from JavaScript — 3–5× faster than string round-trip.
- JSON Diff and Patch (RFC 6902)Generate patches with fast-json-patch.compare(), apply atomically, test operation for optimistic concurrency, and HTTP PATCH usage.
- JSON Security GuidePrototype pollution (CVE-2019-10744), JSON injection in HTML/SQL, parsing bombs, ReDoS via schema regex, and 12-item production checklist.
- OpenTelemetry JSON (OTLP/JSON)OTLP/JSON spans, metrics, and logs: resourceSpans structure, traceId hex encoding, Node.js SDK export, jq debugging.
- JSON Data ValidationRuntime validation with Zod and Ajv, streaming JSON validation, Kafka Schema Registry compatibility modes, and API boundary patterns.
- Reliable JSON Output from LLMsStructured JSON from OpenAI, Claude, Gemini, and local Llama: JSON mode vs function calling vs grammar-constrained decoding, retry loops, and common failure modes.
- OpenAI JSON Mode Deep Diveresponse_format json_object vs json_schema, the required "JSON" prompt rule, model matrix (gpt-4o-2024-08-06+), truncation handling, streaming, and decision matrix.
- OpenAI Structured Outputs100% schema-compliant JSON via response_format json_schema: supported JSON Schema subset, additionalProperties: false rule, Pydantic + Zod helpers, refusal field, and latency overhead.
- Claude Tool Use for JSON OutputAnthropic Claude tool_use blocks: input_schema, forced tool_choice, streaming input_json_delta, parallel calls, prefill technique, and Python + Node.js SDK examples.
- JSON Schema for LLM Function CallingCross-provider tool/function calling schemas: OpenAI tools envelope, Anthropic input_schema, Gemini functionDeclarations, supported keyword matrix, description quality, parallel calls.
- nx.json Nx Monorepo ConfigEvery field in nx.json: targetDefaults, namedInputs production exclusions, tasksRunnerOptions + Nx Cloud, plugins (@nx/eslint/jest/vite), affected base branch, and Nx 16→19+ migration.
- pnpm-workspace.yaml + .npmrc Configpnpm monorepo config: pnpm-workspace.yaml packages array, workspace: protocol semantics, .npmrc settings, catalogs (v9.5+), filter syntax, and 50% disk savings via hardlinks.
- Vitest Config + JSON ReporterVitest 3 config reference: JSON and json-summary reporters, coverage thresholds, projects (replaces workspaces), pool modes, and parsing JSON output for CI dashboards.
- .eslintrc.json + Flat Config Migration.eslintrc.json field reference and migration to eslint.config.js flat config: extends/plugins/rules/overrides, ESLint 9/10 timeline, @eslint/migrate-config codemod, and FlatCompat shim.
- GitHub Actions JSON OutputStep outputs via $GITHUB_OUTPUT EOF delimiter, dynamic matrices via fromJSON(), job outputs, toJSON() context dumps, workflow_dispatch JSON inputs.
- JSON to BigQueryLoading JSON into BigQuery: NDJSON via bq load, native JSON type (Oct 2022 GA), JSON_VALUE/JSON_QUERY, schema autodetect, streaming inserts, and cost vs typed columns.
- JSON to ClickHouseLoading JSON into ClickHouse: JSONEachRow (NDJSON), production-ready JSON type (24.10+), Map/Tuple alternatives, clickhouse-local schema inference, Kafka engine, 1-2M rows/sec.
- JSON to DuckDBLoading JSON into DuckDB: read_json with schema sampling, PostgreSQL-compatible -> and ->> operators, json_extract, NDJSON format, S3/HTTPFS direct query, COPY TO json export.
- JWT Revocation StrategiesRevoking JWTs despite stateless design: short expiry + refresh, Redis blacklist, allowlist sessions table, tokenVersion claim, JWE key rotation, logout flow, refresh rotation.
- JWT Storage: Cookies vs localStoragehttpOnly cookies vs localStorage vs sessionStorage vs in-memory. XSS vs CSRF threat model, SameSite=Strict, OAuth 2.0 BCP for browser apps, BFF pattern for highest security.
- jq Cheat SheetComprehensive jq quick reference: identity/pipe/dot, object/array access, select+map filters, type checks, aggregation (group_by/sort_by), string manipulation, output flags (-r/-c/--arg).
- yq vs jqTwo yq implementations vs jq: mikefarah/yq (Go, YAML in-place) vs kislyuk/yq (Python wrapper, YAML/XML/TOML) vs jq (JSON-only). When to install which.
- curl JSON Examplescurl + JSON cheatsheet: POST/PUT/PATCH with -d and --json (7.82+), Bearer/Basic auth, @file body, pretty-print with jq, multipart with metadata + file, Windows quoting traps.
- Postman JSON ExamplesPostman JSON workflows: raw body, Collection v2.1 format, {{var}} interpolation, pm.test assertions, pm.response.json(), pre-request HMAC, Newman CLI with JSON reporter for CI.
- fx Interactive JSON Viewerfx terminal JSON viewer alternative to jq: interactive TUI navigation, JavaScript-based filters, ~/.fxrc.js themes/helpers, fx vs jq vs jless vs gron comparison, CI integration.
- Parse JSON in LuaLua JSON libraries: lua-cjson, dkjson, RapidJSON-Lua, OpenResty bundled cjson, Neovim vim.json. Empty-array problem, null handling, 1-indexed gotcha.
- JSON in R: jsonlite, httr2 & NDJSONjsonlite::fromJSON() into data.frames, toJSON(auto_unbox=TRUE) for APIs, httr2 JSON API calls, stream_in() for NDJSON >500 MB, and rjson vs jsonlite performance.
- Parse JSON in PowerShellPowerShell ConvertFrom-Json / ConvertTo-Json: -AsHashtable (PS 6.0+), -Depth gotcha (default 2 write), Invoke-RestMethod auto-parse, BigInt in 7.2+, PS 5.1 vs 7.x.
- JSON UTF-8 EncodingJSON is UTF-8 by RFC 8259 §8.1: \uXXXX escapes, surrogate pairs, BOM rejection, application/json charset rule, ensure_ascii pitfalls, mojibake fixes, round-trip safety tests.
- JSON Key Naming ConventionscamelCase vs snake_case vs kebab vs Pascal: what major APIs use (Google/GitHub/Stripe = snake, Microsoft = camel, AWS IAM = Pascal), language conventions, middleware transformers.
- JSON null vs [] vs MissingModeling empty collections: null vs [] vs {} vs missing field. JSON Merge Patch null-as-delete, OpenAPI 3.1 nullable, TypeScript exactOptionalPropertyTypes, database mapping, decision matrix.
- JSON Error HandlingRFC 9457 Problem Details, JSON:API errors array, HTTP status codes (400 vs 422), Zod validation errors, Express and FastAPI error middleware.
- JSON Batch RequestsBundle N API operations into one HTTP call — atomic vs non-atomic, HTTP 207 Multi-Status, Facebook Graph API batch, DataLoader, client-side queuing.
- JSON Localization (i18n)Flat vs nested i18n files, i18next interpolation and pluralization, ICU Message Format, next-intl structure, and automated translation workflow.
- JSON CompressionGzip reduces JSON 60-80%, brotli adds 15-25% more — Express middleware, key shortening, streaming compression, MessagePack vs compressed JSON.
- JSON Schema MigrationsschemaVersion field, additive vs breaking changes, migration functions, lazy on-read migration, MongoDB batch scripts, and event sourcing upcasters.
- JSON SearchElasticsearch Query DSL bool queries and aggregations, Typesense schema, Algolia JSON index, MongoDB Atlas Search, and Fuse.js client-side search.
- JSON Feature FlagsFeature flag JSON schema, consistent hash rollout, targeting rules, LaunchDarkly JSON format, OpenFeature SDK, and CDN-cached flag endpoints.
- JSON in Event-Driven ArchitectureCloudEvents JSON format, Kafka JSON producer/consumer, AWS SQS Records array, SNS fan-out envelope, schema registry, and idempotency patterns.
- JSON with Multipart UploadsSend JSON metadata + file in one request — browser FormData pattern, Express multer, Next.js App Router, S3 presigned POST, base64 vs multipart.
- JSON in OpenAPI 3.1Schema objects, $ref and components, oneOf/anyOf/allOf composition, discriminator, Zod-to-OpenAPI generation, TypeScript from OpenAPI JSON.
- JSON REST API DesignResponse envelope, camelCase vs snake_case, ISO 8601 dates, null vs omit semantics, HATEOAS links, backward compatibility, and Spectral linting.
- JSON Streaming APIs: NDJSON, SSE & ReadableStreamNDJSON line-delimited JSON for bulk feeds, Server-Sent Events for browser push, Next.js ReadableStream Route Handlers, Go json.NewDecoder, and OpenAI-style AI token streaming.
- JSON in Machine LearningHugging Face config.json, JSONL training data, MLflow experiment tracking, ONNX operator schemas, inference API format, and ML pipeline config.
- JSON for IoT and MQTTMQTT JSON payload design, AWS IoT Core rules, Azure IoT Hub format, ESP32 ArduinoJson, CBOR vs JSON comparison, and time-series JSON storage.
- JSON in Next.js App RouterRoute Handler JSON, Server Component fetch cache options, unstable_cache, Server Actions, streaming JSON with ReadableStream, middleware gotchas.
- JSON with Prisma ORMPrisma Json field schema, CRUD with JSON values, path filter queries, TypeScript JsonValue/JsonNull/DbNull types, and SQL migration patterns.
- tRPC JSON APItRPC procedure and router JSON wire format, Zod input validation, superjson transformer, TRPCError HTTP mapping, React Query integration, and httpBatchStreamLink streaming.
- Redis JSON ModuleRedisJSON JSON.SET/GET commands, JSONPath v2 syntax, atomic NUMINCRBY/ARRAPPEND mutations, RediSearch indexing over JSON fields, and Node.js redis client integration.
- WebSocket JSON MessagesWebSocket JSON text frame model, message envelope pattern, heartbeat ping-pong, exponential backoff reconnection, Socket.IO JSON events, and MessagePack binary alternative.
- Yup JSON ValidationYup object().shape() schemas, InferType for TypeScript, async validate(), abortEarly: false for all errors, .cast() coercion, custom .test() refinements, and Formik/React Hook Form integration.
- Valibot JSON ValidationValibot v.object/v.array schemas, v.pipe() chains, parse vs safeParse, TypeScript inference with InferOutput, JSON Schema conversion with @valibot/to-json-schema, and React Hook Form integration — up to 95% smaller than Zod.
- AWS JSON API PatternsIAM policy JSON structure, Lambda event/response JSON, DynamoDB AttributeValue marshalling, API Gateway mapping templates, Step Functions ASL, and EventBridge pattern matching.
- OpenTelemetry JSON TracesOTLP JSON payload (ResourceSpans, ScopeSpans, spans), semantic convention attributes, metrics and logs JSON format, Collector config, and Node.js SDK instrumentation.
- Docker JSON ConfigurationDocker daemon.json config, docker inspect JSON output with jq, Compose JSON schema validation, Docker Engine API endpoints, container log JSON, and Dockerfile exec form.
- Stripe API JSONStripe PaymentIntent and webhook event JSON, metadata key-value pairs, idempotency keys, error JSON with decline codes, object expansion, and Node.js Stripe SDK TypeScript patterns.
- JSON WebhooksWebhook JSON payload envelope pattern, HMAC-SHA256 signature verification, idempotent event processing with deduplication, retry handling, and Next.js Route Handler webhook endpoint.
- JSON SecurityPrototype pollution via __proto__ injection, JSON injection into SQL/NoSQL, ReDoS from crafted strings, Content-Type validation, JWT algorithm confusion, and safe parsing patterns.
- JSON Injection & NoSQL InjectionJSON string injection via concatenation, MongoDB $gt/$regex operator injection, prototype pollution via __proto__ merge, JSON.parse safety, Content-Type validation, and Zod defense-in-depth.
- JSON i18n InternationalizationJSON translation file structure, ICU message format for variables and plurals, namespace splitting, next-intl App Router setup, react-i18next configuration, and translation workflow automation.
- JSON Testing with Jest and VitestJest toMatchObject vs toStrictEqual for JSON assertions, Vitest snapshot testing, supertest for HTTP integration tests, Zod schema assertions, Pact contract testing, and msw/nock mocking.
- Rust JSON with serdeRust JSON with serde and serde_json — derive Serialize/Deserialize, field attributes (rename, omitempty, flatten), serde_json::Value for dynamic JSON, streaming, and Axum/Actix-web handlers.
- JSON in AxumAxum Json<T> extractor deserializes request bodies (422 on failure) and Json<T> responder serializes responses — serde compile-time code generation, tuple status codes, custom IntoResponse errors, State injection, and Router composition.
- Python JSON ParsingPython json.loads/dumps with custom JSONEncoder, object_hook deserialization, Pydantic v2 model_validate, orjson for 10× faster JSON, FastAPI auto-serialization, and ijson streaming.
- Go JSON encoding/jsonGo encoding/json struct tags (json:"name,omitempty"), json.Marshal/Unmarshal, json.RawMessage for deferred parsing, custom Marshaler/Unmarshaler, json.Decoder streaming, and Gin/Chi JSON handlers.
- JSON in Goencoding/json Marshal and Unmarshal, struct tags with json key names and omitempty, json.Decoder streaming, json.RawMessage for deferred parsing, and custom MarshalJSON methods.
- Java JSON with JacksonJackson ObjectMapper readValue/writeValueAsString, @JsonProperty/@JsonIgnore annotations, custom serializers, JsonNode for dynamic JSON, Java records, Spring Boot auto-configuration, and Gson comparison.
- Swift JSON CodableSwift Codable with JSONDecoder/JSONEncoder, CodingKeys enum for field mapping, keyDecodingStrategy convertFromSnakeCase, custom init(from:), optional field handling, and URLSession JSON API calls.
- Kotlin JSON kotlinx.serializationKotlin @Serializable data classes, @SerialName for field mapping, Json { ignoreUnknownKeys }, JsonElement for dynamic JSON, sealed class polymorphism, Moshi, and Ktor HTTP client JSON.
- C# JSON System.Text.JsonSystem.Text.Json JsonSerializer.Serialize/Deserialize, JsonSerializerOptions, [JsonPropertyName] and [JsonIgnore], JsonNode for dynamic JSON, custom JsonConverter, source generation for AOT.
- Newtonsoft.Json (Json.NET) in C#JsonConvert.SerializeObject/DeserializeObject<T>, JObject dynamic JSON, JsonSerializerSettings (NullValueHandling, CamelCase), [JsonProperty]/[JsonIgnore], custom JsonConverter, JSONPath SelectToken, and migration to System.Text.Json.
- JSON Interview Questions40 JSON interview questions spanning junior to senior level: syntax, parsing, schema, JWT, REST API design, performance optimization, and security best practices.
- JSON CheatsheetJSON syntax rules, all 6 data types, JSONPath expressions, JSON Schema keywords, JSON5/JSONC/NDJSON variants, and json.tool / jq quick-reference.
- JSON Best PracticesJSON naming conventions (camelCase vs snake_case), ISO 8601 dates, string vs numeric IDs, null handling, pagination patterns, API versioning, security hardening, and performance tips.
- JSON Performance OptimizationV8 JSON.parse at ~500 MB/s, streaming parsers for 10 MB+ payloads, gzip for 60-80% size reduction, structuredClone vs JSON deep clone, fast-json-stringify, and simdjson.
- PostgreSQL JSONBPostgreSQL jsonb vs json column types, ->, ->>, @> operators, GIN indexing, jsonb_set() partial updates, jsonb_agg() aggregation, and generated columns.
- Axios JSON HTTP ClientAxios auto-serialization, axios.create() instances, request/response interceptors, AxiosError handling, TypeScript generics, and transformRequest/transformResponse.
- Express.js JSON APIExpress express.json() middleware, CRUD routes with res.json(), Zod validation, centralized error handling, CORS, rate limiting, and TypeScript typed requests.
- FastAPI JSON with PydanticFastAPI automatic JSON serialization via Pydantic v2, response_model filtering, custom encoders for datetime/UUID, 422 validation errors, and ORJSONResponse for 3× speedup.
- Prisma JSON FieldPrisma Json field type, path and array_contains filtering, Prisma.JsonNull vs Prisma.DbNull, Prisma.JsonValue TypeScript types, and raw SQL fallbacks.
- Next.js App Router JSON APINext.js Route Handlers, NextResponse.json() with status codes, request.json() body parsing, fetch() cache strategies, Server Actions, and Zod validation.
- JSON in Elixir/Phoenix: Jason, json/2, Ecto Embeds & API ModePhoenix json/2 returns JSON automatically, Jason handles encoding/decoding, Ecto embeds map nested JSON to typed structs, and API mode generates a lean JSON-only app.
- GitHub Actions JSONGitHub Actions fromJSON() and toJSON() functions, dynamic job matrices, GITHUB_OUTPUT JSON outputs, workflow_dispatch inputs, and jq in shell steps.
- JSON in Scala: Circe, Spray-JSON, Play JSON & CodecsCirce decode[T] with Either error handling, auto-derived Encoder/Decoder for case classes, Spray-JSON RootJsonFormat for Akka HTTP, Play JSON Reads/Writes/Format, and optional field patterns.
- JSON in F#: System.Text.Json, Thoth.Json, Discriminated Unions & FableSystem.Text.Json serializes F# records out of the box; Thoth.Json Decode.Auto.fromString returns Result<T, string> for safe decoding; custom JsonConverter handles discriminated unions; Fable uses Thoth.Json for browser F#.
- JSON Streaming and NDJSONNDJSON format, Node.js readline for O(1)-memory parsing, Python ijson streaming, HTTP ReadableStream, React Server Component streaming, and jq for large files.
- JSON Compressiongzip vs Brotli vs zstd benchmarks, Express compression middleware, JSON key shortening, MessagePack binary encoding (30–50% smaller), and CBOR for embedded systems.
- jq JSON Command Linejq filter syntax, select() for filtering arrays, map() transformation, to_entries/from_entries, reduce(), group_by(), @csv/@tsv format strings, and jq in shell scripts.
- Protobuf vs JSONProtocol Buffers vs JSON: 3–10× faster serialization, 3–5× smaller, proto3 JSON mapping, google.protobuf.Struct, gRPC-Gateway JSON transcoding, and migration strategies.
- OpenAPI 3.1 JSON SpecOpenAPI 3.1 paths, components/schemas, $ref reuse, requestBody, responses, security schemes (Bearer, OAuth 2.0), and openapi-generator-cli for 50+ languages.
- JSON API Error ResponsesJSON error envelope, HTTP status code semantics (400 vs 422, 401 vs 403), RFC 7807 Problem Details, validation error arrays, and GraphQL error format.
- JSON Configuration Filespackage.json fields (main, module, exports, types), tsconfig.json compiler options, extends inheritance, JSONC/JSON5 for comments, $schema autocomplete, and Ajv validation.
- JSON Search and FilterArray.filter/find/findIndex, multi-field case-insensitive search, Fuse.js fuzzy search (threshold: 0.3), JSONPath filter expressions, and Lunr.js full-text search.
- JSON Transform and ReshapeArray.map(), Array.flatMap(), Object.entries()/fromEntries() for key reshaping, JSON flattening/unflattening, jq map(), JSONata declarative queries, and Zod .transform().
- JSON FlattenRecursive flatten algorithms, dot vs bracket path notation, depth-limited flattening, unflatten/reconstruct nested objects, and performance benchmarks.
- JSON Mock Datajson-server REST API, Faker.js factory functions with TypeScript, Mock Service Worker (MSW), Nock HTTP interception, and seeded deterministic test data.
- JSON Data TypesAll six JSON types, type coercion pitfalls, integer vs float IEEE 754 precision, null vs undefined, type checking patterns, and JSON Schema type keywords.
- JSON Nested ObjectsOptional chaining (?.) for null-safe deep access, immutable nested updates with spread, structuredClone() deep clone, recursive traversal, and TypeScript interfaces.
- JSON Array Methodsmap(), filter(), reduce(), find(), flatMap() with JSON arrays, ES2023 toSorted()/toReversed()/findLast(), method chaining patterns, and TypeScript generics.
- JSON Date HandlingISO 8601 vs Unix timestamp in JSON, JSON.stringify() date serialization, JSON.parse() reviver, timezone pitfalls, date-fns, and the TC39 Temporal API.
- JSON Null HandlingJSON null vs JavaScript undefined, nullish coalescing (??), optional chaining (?.), TypeScript nullable types, JSON Schema nullable, and API null design patterns.
- JSON String EscapingComplete escape sequence reference, Unicode \uXXXX and surrogate pairs, JSON.stringify() auto-escaping, XSS-safe HTML embedding, and SQL/shell escaping patterns.
- JSON API PaginationOffset vs cursor vs keyset pagination, SQL OFFSET O(n) vs WHERE id>:cursor O(log n), pagination envelope design, React Query infinite scroll, and bidirectional pagination.
- JSON Hypermedia (HATEOAS)HAL _links and _embedded, JSON:API links object, Siren actions, Richardson Maturity Model Level 3, IANA link relations (next/prev/self), and client-side link traversal.
- JSON Bulk Operations207 Multi-Status for partial failures, NDJSON streaming bulk imports, atomic vs non-atomic transactions, batch size limits (100-500 items), and idempotency for retry-safe bulk operations.
- JSON API FilteringMongoDB-style filter operators ($eq/$gt/$in/$and), Zod filter schema validation, SQL injection prevention via field allowlist, JSON:API filter[] syntax, and GIN indexes for JSONB.
- JSON File UploadMultipart/form-data with JSON metadata, base64 encoding (33% overhead — avoid for files >1MB), presigned S3/GCS URL flow, Next.js App Router uploads, XHR progress, and tus resumable protocol.
- JSON Audit TrailAudit event schema with JSON Patch before/after diffs, immutability via Merkle hash chains, GDPR pseudonymization, SOC 2/HIPAA/PCI-DSS retention periods, and ClickHouse analytics queries.
- JSON Schema MigrationBreaking vs non-breaking schema changes, runtime upcasting functions, schema registry BACKWARD/FORWARD/FULL compatibility, PostgreSQL jsonb_set batch migration, and property-based testing.
- JSON Data ModelingEmbedding vs reference IDs, one-to-many arrays, polymorphic type discriminators, null vs missing field (JSON Merge Patch RFC 7396), ordered vs unordered arrays, and extensibility patterns.
- JSON API DocumentationOpenAPI 3.1 + JSON Schema 2020-12, zod-openapi auto-generation, Swagger UI and Redoc setup, discriminated union (oneOf) documentation, deprecation with sunset headers, Prism mock server.
- JSON API Access ControlRBAC policy JSON format, field-level response filtering by role, resource ownership checks, Casbin policy.csv + JSON adapter, OPA Rego ABAC policies, and JWT claims for authorization.
- JSON API Design PatternsResponse envelope pattern, resource action URLs (/activate, /cancel), async 202 Accepted with job polling, PUT vs PATCH (JSON Merge Patch vs JSON Patch), sideloading with ?include, RFC 7807 errors.