Есть ли эмпирическое правило, когда использовать объекты JSON вместо массивов с ключом ‘name’?

#arrays #json #object #kubernetes

#массивы #json #объект #kubernetes

Вопрос:

По каким причинам можно предпочесть with_object или with_array приведенные ниже варианты?

 {
  "with_array": [
    {
      "name": "foo",
      "key": "value"
    },
    {
      "name": "bar",
      "key": "value"
    }
  ],
  "with_object": {
    "foo": {
      "key": "value"
    },
    "bar": {
      "key": "value"
    }
  }
}
  

Пример из реального мира: почему в спецификации переменной среды в этом манифесте Kubernetes используется массив ключей name и value ?

 pods/inject/envars.yaml 

apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
    - name: DEMO_FAREWELL
      value: "Such a sweet sorrow"
  

Из Определения переменной среды для контейнера

Комментарии:

1. Это действительно зависит от того, что вы собираетесь делать с данными.

2. Если вы хотите сохранить порядок, вы должны использовать array.

Ответ №1:

Ответ на три вопроса может помочь определить, какой из двух является более подходящим:

вопросы для определения структуры