DEV Community

KateMLady
KateMLady

Posted on

JSONs and its variations

JSON is designed for working with JavaScript files. Basically, you have two systems communicating. And so that everyone understands each other, there is a basic format that divides the file into sections where the data is stored.

{
  "_version": 330,
  "_FontManager__default_weight": "normal",
  "default_size": null,
  "defaultFamily": {
    "ttf": "DejaVu Sans",
    "afm": "Helvetica"
  },
  "afmlist": [
    {
      "fname": "fonts/afm/phvro8an.afm",
      "name": "Helvetica",
      "style": "italic",
      "variant": "normal",
      "weight": "medium",
      "stretch": "condensed",
      "size": "scalable",
      "__class__": "FontEntry"
    },
    {
      "fname": "fonts/afm/pagd8a.afm",
      "name": "ITC Avant Garde Gothic",
      "style": "normal",
      "variant": "normal",
      "weight": "demi",
      "stretch": "normal",
      "size": "scalable",
      "__class__": "FontEntry"
    },
Enter fullscreen mode Exit fullscreen mode

JSONs carry not only the meaning of the data transmitter, but also some designations to the system. For example, when installing the Matplotlib library (graphics drawing for Python), we use a small file with the .json extension so that our project builder reads the library version, the main parameters, where to use it when building the project.

  1. By analogy with HTML, the names of fields and their values ​​are specified explicitly (as is customary)
  2. Similar to the class, there are opening and closing symbols and indents for navigating through the file
{
      "fname": "/usr/share/fonts/microsoft/bahnschrift.ttf",
      "name": "Bahnschrift",
      "style": "normal",
      "variant": "normal",
      "weight": 400,
      "stretch": "normal",
      "size": "scalable",
      "__class__": "FontEntry"
    }
  ],
  "__class__": "FontManager"
}
Enter fullscreen mode Exit fullscreen mode

When closing a large block of data, do not forget to specify which variable (__class__) you are forming in the description above. Otherwise, the system will not understand you, and without a debugger, you will not notice it.

Some non-obvious uses of JSON:

  • In API methods, more often in REST (SOAP uses XML format), this file is added to the request body
  • When transferring files directly by systems (via IP/via DB), you can also use this format. There are even special databases that can store this, called NoSQL
  • When installing additional libraries for VS/pip, if you know, this file type is needed to unpack versioning/content data
  • Especially for HoD: when you set a task for developers, in addition to bare business parameters, it is convenient to immediately write a small JSON, which will immediately simplify the task

"fname": "/usr/share/fonts/urw-base35/P052-BoldItalic.otf",
"name": "P052",
- additional parameters and auxiliary files have a place for installation files.

Top comments (0)