Pular para o conteúdo principal

Postagem em destaque

BlackTDN NEWS :: 2025.02.13 :: 21:42:18

_Créditos das imagens: ChatGPT # Robótica Avançada: o que é, como funciona e quais os benefícios? **Fonte:** Tecmundo.com.br **Autor:** Maura Martins **Publicado em:** 2025-02-13T14:30:00Z ![Imagem](https://tm.ibxk.com.br/2025/01/02/02114816778102.jpg?ims=1200xorig) > Hoje as empresas vivenciam uma nova fase na tecnologia voltada à produção. A chamada fase da Indústria 4.0 também é apontada pelos especialistas como uma "Quarta Revolução Industrial". Nesse momento histórico, entre os destaques, está o desenvolvimento da rob… [Leia mais](https://www.tecmundo.com.br/mercado/401252-robotica-avancada-o-que-e-como-funciona-e-quais-os-beneficios.htm) --- # Ex-chefe da Activision Blizzard minimiza acusações de assédio e sugere que são conspirações de sindicatos **Fonte:** Tecmundo.com.br **Autor:** Gabriel Morais Silva de Oliveira **Publicado em:** 2025-02-13T17:30:00Z ![Imagem](https://tm.ibxk.com.br/2025/02/13/13142625239056.jpg?ims=1200xorig) > Durante uma entrevist...

BlackTDN :: DNATech :: Suporte a JSON5 em AdvPL/TLPP

_Créditos das imagens: ChatGPT_

# Suporte a JSON5 em AdvPL/TLPP

[JSON5](https://json5.org/) é uma extensão do popular formato de arquivo JSON que tem como objetivo ser mais fácil de escrever e manter manualmente (por exemplo, para arquivos de configuração). Ele não foi projetado para comunicação entre máquinas. (Continue usando JSON ou outros formatos de arquivo para isso. 🙂)

O JSON5 foi iniciado em 2012 e, a partir de 2022, recebe mais de 65 milhões de downloads por semana, está entre os 0,1% dos pacotes mais utilizados no npm e foi adotado por grandes projetos como Chromium, Next.js, Babel, Retool, WebStorm e outros. Também possui suporte nativo em plataformas da Apple, como macOS e iOS.

Formalmente, o formato de Intercâmbio de Dados JSON5 é um superconjunto do JSON (ou seja, arquivos JSON válidos sempre serão arquivos JSON5 válidos) que expande sua sintaxe para incluir algumas produções do ECMAScript 5.1 (ES5). Além disso, ele é um subconjunto do ES5, o que significa que arquivos JSON5 válidos sempre serão válidos em ES5.*

Esta biblioteca AdvPL/TLPP é uma implementação de referência para análise e serialização de JSON5.

---

### Exemplos

***Exemplo 1:***
```JSON
{
  // comments
  unquoted: 'and you can quote me on that',
  singleQuotes: 'I can use "double quotes" here',
  lineBreaks: "Look, Mom! \
No \\n's!",
  hexadecimal: 0xdecaf,
  leadingDecimalPoint: .8675309, andTrailing: 8675309.,
  positiveSign: +1,
  trailingComma: 'in objects', andIn: ['arrays',],
  "backwardsCompatible": "with JSON",
}
```
***Exemplo 2:***
```JSON
{
  // Comments are allowed
  name: 'John Doe', // No need for quotes around keys
  age: +30, // Trailing commas are allowed
  isStudent: false,
  hobbies: [
    "reading",
    "gaming",
    "coding", // Trailing comma in arrays
  ],
}
```
***Exemplo 3:***
```JSON
{
    "Services": [
        {
            cExeName: "apache.exe",
            cName: "apache_wf.service",
            cDislpayName: ".apache_wf",
            cTmpDir: "\\tmp\\apache\\service\\",
            nNumber: +10
        },
        {
            'cExeName': "apache.exe",
            'cName': "apache_wsrest.service",
            'cDislpayName': ".apache_wsrest",
            'cTmpDir': "\\tmp\\apache\\service\\"
        },
        {
            "cExeName": 'apache.exe',
            "cName": 'apache_wssoap.service',
            "cDislpayName": '.apache_wssoap',
            "cTmpDir": '\\tmp\\apache\\service\\'
        },
        {
            "cExeName": "apache.exe",
            "cName": "apache.service",
            "cDislpayName": ".apache",
            "cTmpDir": "\\tmp\\apache\\service\\"
        },
        {
            "cExeName": "apache.exe",
            "cName": "apache_exclusivo.service",
            "cDislpayName": ".apache_exclusivo",
            "cTmpDir": "\\tmp\\apache\\service\\"
        }
    ]
}
```
***Exemplo 4:***
```JSON
{
  // Comentário em JSON5
  name: "JSON5 Example", // Chaves não precisam de aspas
  version: 1.0, // Números podem ser escritos diretamente
  isEnabled: true, // Booleanos também são suportados
  features: [
    "comments",
    "trailing commas", // Última vírgula não causa erro
    "unquoted keys",
    "multi-line strings",
    "hexadecimal, octal, binary numbers", // Última vírgula não causa erro
  ],
  settings: {
    theme: "dark",
    fontSize: 14,
    shortcuts: {
      save: "Ctrl+S",
      open: "Ctrl+O",
      close: "Ctrl+W"
    }
  },
  nested: {
    description: "Este é um exemplo de JSON5 com mais detalhes",
    specialChar: "✓",
    metadata: {
      createdBy: "ChatGPT",
      createdAt: "2025-02-01T12:00:00Z",
      tags: ["example", "json5", "rich"]
    }
  },
  numbers: {
    decimal: 255, // Decimal padrão
    hexadecimal: 0xFF, // Hexadecimal
    octal: 0o377, // Octal
    binary: 0b11111111 // Binário
  }
}
```
---
## Hashtags Relacionadas

#DNATech, #JSON5, #JSON, #TLPP, #AdvPL

---

DNA Tech : JSONArray :: Suporte a serialização do formato JSON5


TOTVS : JSONObject :: Sem Suporte a serialização do formato JSON5

Comentários

Postagens mais visitadas