Объединить / построить Json объектов Из PostgresSQl базы данных - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь создать массив Json из данных, существующих в базе данных.

Я создам Json файл, который будет соответствовать следующему Json -файлу с PostgresSQL.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Student iformation",
  "type": "object",
  "required": [
    "student",
    "name",
    "login",
    "program",
    "branch",
    "finished",
  ],
  "properties": {
    "student": {
      "type": "string",
      "minLength": 10,
      "maxLength": 10,
      "title": "A national identification number, 10 digits"
    },
    "name": {
      "type": "string",
      "title": "The name of the student"
    },
    "login": {
      "type": "string",
      "title": "The univerity issued computer login"
    },
    "program": {
      "type": "string",
    },
    "branch": {
      "anyOf":[{"type": "string"},{"type": "null"}],
    },
    "finished": {
      "type": "array",
      "title": "A list of read courses",
      "items": {
        "type": "object",
        "required": [
          "course",
          "code",
          "credits",
          "grade"
        ],
        "properties": {
          "course": {
            "type": "string",
            "title": "Course name"
          },
          "code": {
            "type": "string",
            "minLength": 6,
            "maxLength": 6,
            "title": "Course code"
          },
          "credits": {
            "type": "number",
            "title": "Academic credits"
          },
          "grade": {
            "enum" : ["U", "3", "4", "5"]
          }
        }
      }
    }

Я попытался сделать следующее, чтобы получить лучшее понимание того, как объединять, создавать и упорядочивать данные, которые существуют в базе данных:

SELECT array_to_json(array_agg(row_to_json(t))) FROM (
SELECT idnr, name, login, program from students) t; 

и

select json_build_object('properties',
    json_build_object('student',
    json_build_object('idnr',idnr),'name',
    json_build_object('name',name),'login',
    json_build_object('login',login),'program',
    json_build_object('program',program),'branch',
    json_build_object('branch',branch)))
from Basicinformation;

Как создавать, объединять объекты с PostgresSQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...