# JSON WordPress

JSON WordPress é o formato de dados usado pelo CMS para troca de informações entre o site e aplicações externas, principalmente via REST API. Cada post, página, usuário ou configuração pode ser exposto como objeto JSON consumível por qualquer linguagem de programação. É o formato que permite WordPress funcionar como backend para aplicativos mobile, dashboards externos, sites em React/Vue e integrações com sistemas de terceiros.

## O que é JSON

JSON é a sigla para JavaScript Object Notation. É um formato de dados textual leve, fácil de ler para humanos e simples de processar para máquinas. Foi criado por Douglas Crockford em 2001 como formato de intercâmbio de dados, originalmente uma simplificação de objetos JavaScript. Tornou-se padrão da web moderna e da maioria das APIs REST do mundo.

O javascript object notation funciona com estrutura de pares chave-valor, idêntica a um objeto JavaScript: chaves entre aspas, valores podem ser strings, números, booleanos, null, arrays ou outros objetos JSON. Sintaxe simples: chave-de-abertura, nome-em-aspas, dois-pontos, valor, e vírgula entre múltiplos pares. Em JSON, os tipos são limitados, mas isso é uma vantagem — toda linguagem moderna sabe ler e escrever JSON sem ambiguidade.

O que é json para um post WordPress: um objeto contendo campos como id, title, content, excerpt, author, date, categories, tags, featured_image, slug. Cada campo é uma chave com valor correspondente. JSON do post completo tem dezenas de campos, incluindo metadados, links de navegação e dados embedded de outros recursos relacionados.

JSON virou padrão por três razões: legibilidade (fácil de inspecionar e debugar), simplicidade (fácil de gerar e parsear em qualquer linguagem) e ubiquidade (presente em toda biblioteca padrão moderna). Comparado a XML — formato dominante anteriormente — JSON ocupa menos espaço, é mais simples sintaticamente e tem parsing mais rápido.

## JSON no WordPress: REST API

O WordPress incorporou suporte nativo a JSON com a REST API em 2016, na versão 4.7. A partir desse momento, qualquer instalação WordPress padrão ganhou endpoints automáticos retornando JSON em /wp-json/wp/v2/. Acesse seusite.com/wp-json/wp/v2/posts e veja todos os posts publicados em formato JSON, prontos para serem consumidos por qualquer aplicação.

O json wp api segue convenções REST padrão. GET para ler, POST para criar, PUT/PATCH para modificar, DELETE para remover. Endpoints por tipo de recurso: /posts (artigos), /pages (páginas), /media (mídia), /users (usuários), /categories (categorias), /tags (tags), /comments (comentários). Cada um retorna JSON com schema documentado.

A REST API tem dois usos principais. O primeiro é alimentar o próprio painel WordPress: o editor Gutenberg consome a REST API para listar posts, salvar drafts, gerenciar mídia. Ou seja, o painel moderno do WordPress JÁ é uma SPA consumindo a própria REST API. Quando você usa o editor de blocos, está usando JSON sob o capô.

O segundo uso é integração externa. Aplicativos mobile que mostram conteúdo do blog. Dashboards customizados que agregam métricas. Sites [headless](https://full.services/glossario/headless-wordpress/) com Next.js ou Gatsby consumindo conteúdo via REST. Outros sistemas que precisam ler ou escrever no WordPress. Tudo via JSON.

Combine REST API com [AJAX](https://full.services/glossario/ajax-wordpress/) ou fetch nativo no frontend, e você consegue fazer interfaces dinâmicas em qualquer site WordPress. Endpoints customizados podem ser registrados via register_rest_route no PHP, expondo lógica de negócio própria como endpoints REST com JSON estruturado.

## Como ler e gerar JSON no WordPress

Para ler JSON externo no PHP, use as funções nativas wp_remote_get e wp_remote_retrieve_body, depois json_decode. Exemplo: response = wp_remote_get('https://api.exemplo.com/dados'), body = wp_remote_retrieve_body(response), data = json_decode(body, true). Você obtém array PHP associativo (true como segundo parâmetro do json_decode) e pode acessar os dados.

Para gerar JSON em endpoints customizados da REST API, registre a rota com register_rest_route. Dentro do callback, retorne array PHP — o WordPress automaticamente converte para JSON e adiciona headers HTTP corretos. wp_send_json_success e wp_send_json_error fazem o mesmo em contexto de AJAX. Sempre prefira essas funções nativas em vez de json_encode + echo manual.

Para consumir REST API do WordPress no JavaScript, use fetch nativo. Exemplo: fetch('/wp-json/wp/v2/posts').then(response retorno response.json()).then(posts cada post.title.rendered). Para autenticação em endpoints protegidos, use Application Passwords (introduzidos em WordPress 5.6) ou nonce via wp_localize_script.

Os [hooks WordPress](https://full.services/glossario/hooks-wordpress/) permitem modificar JSON gerado pela REST API antes de enviar. Filter rest_prepare_post permite ajustar campos do JSON de cada post. Filter rest_post_query permite modificar query padrão. Permissões customizadas via filter rest_authentication_errors. Tudo extensível pelos padrões nativos do CMS.

Cuidados ao trabalhar com JSON em produção: validar input antes de json_decode (JSON malformado quebra), tratar erros (JSON pode vir vazio se o servidor remoto cair), cachear chamadas externas (não chamar APIs remotas em toda requisição). Combine com [cache](https://full.services/glossario/cache-wordpress/) de objeto via Redis para guardar respostas e reduzir latência de integrações externas.

## JSON vs XML

A discussão JSON vs XML hoje é mais histórica que prática. JSON ganhou para 95% dos casos de API moderna. Mas vale entender quando XML ainda faz sentido — porque WordPress ainda usa em alguns lugares (RSS feeds, sitemap, certos webhooks) e você ainda encontra integrações legadas baseadas em XML.

JSON é mais leve. O mesmo dado em JSON ocupa entre 30% e 50% menos espaço que em XML, porque XML tem tags de abertura e fechamento para cada campo enquanto JSON usa só chaves de uma vez. Em APIs com alto volume de tráfego, isso vira economia real de banda e tempo de transferência.

JSON é mais rápido para parsear. JavaScript tem parsing nativo via JSON.parse, fração mais rápida que parsear XML via DOMParser. PHP tem json_decode, mais rápido que SimpleXML. Em endpoints de alta frequência, a diferença é mensurável.

XML tem vantagens em três casos: schemas mais rigorosos via XSD (JSON tem JSON Schema, mas é menos maduro), suporte a comentários (JSON puro não suporta, embora algumas variantes permitam), e integração com sistemas enterprise legados (SAP, Oracle, sistemas bancários antigos frequentemente usam XML/SOAP).

Para WordPress, a regra é simples: APIs novas, sempre JSON. Integrações com sistemas legados que exigem XML, use XML. Não force formato — adapte ao consumidor. A REST API do WordPress já fala JSON nativo, e isso resolve a maioria dos casos modernos.

Para projetos que precisam consumir ou expor dados via JSON em integrações sérias com sistemas externos — CRM, ERP, plataformas de e-commerce, dashboards de BI — a FULL Services entrega a stack profissional WordPress com REST API otimizada, plugins de integração já configurados, cache adequado para chamadas externas e infraestrutura calibrada para sustentar tráfego de API em produção. Em vez de configurar plugin a plugin e gambiarra de cache, você roda em uma operação preparada para JSON em escala desde o primeiro deploy.

**Também conhecido como:** javascript object notation, json data

## Termos relacionados

- [REST API WordPress](https://full.services/glossario/rest-api-wordpress/)
- [AJAX WordPress](https://full.services/glossario/ajax-wordpress/)
- [Hooks WordPress](https://full.services/glossario/hooks-wordpress/)
- [Headless WordPress](https://full.services/glossario/headless-wordpress/)

---

Glossário WordPress da FULL Services: [JSON WordPress](https://full.services/glossario/json-wordpress/)
