сортировать массив документов JSON - PullRequest
0 голосов
/ 07 февраля 2019

Мне интересно, можно ли отсортировать или вывести значение min в случае массива json.Я что-то читал об этой проблеме, но ничего не нашел.

Это входные данные:

{
  "intData": [
    {
      "DATE": "2018",
      "NOME": "raf"
    },
    {
      "DATE": "2001",
      "NOME": "fabio"
    },
    {
      "DATE": "2002",
      "NOME": "fabiola"
    }
  ]
}

Я бы:

{
  "intData": [
    {
      "DATE": "2001",
      "NOME": "fabio"
    },
    {
      "DATE": "2002",
      "NOME": "fabiola"
    },
    {
      "DATE": "2018",
      "NOME": "raf"
    }
  ]
}

или

{
  "DATE": "2001",
  "NOME": "fabio"
}

Возможно ли это?

1 Ответ

0 голосов
/ 12 февраля 2019

Упорядоченные результаты

Шаги следующие:

  1. Создание объекта со структурой: $.DATE.NOME.@
  2. Сортировка
  3. Поворотобратно в массив
[
  {
    "operation": "shift",
    "spec": {
      "intData": {
        "*": {
          "@": "@(1,DATE).@(1,NOME)"
        }
      }
    }
  },
  {
    "operation": "sort"
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "@": "intData.[]"
        }
      }
    }
  }
]

Первый результат

Шаги следующие:

  1. Создание объекта со структурой: $.DATE.NOME.@
  2. Сортировать
  3. Превратить его в массив
  4. Получить первый результат
[
  {
    "operation": "shift",
    "spec": {
      "intData": {
        "*": {
          "@": "@(1,DATE).@(1,NOME)"
        }
      }
    }
  },
  {
    "operation": "sort"
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "@": "[]"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "0": {
        "@": ""
      }
    }
  }
]
...