Каков правильный синтаксис следующей строки JSON

Мне нужно извлечь данные из базы данных MSACCES в объект JSON... Поэтому я не совсем уверен в правильном синтаксисе строки JSON. Какой из них правильный:

{
  "Continent": {
    "Europe": {
      "Countries": 
        {
          "The Netherlands": {
            "Cities": [
              "Rotterdam",
              "Hag",
              "Amsterdam"
            ]
          }
        },
        {
          "Germany": {
            "Cities": [
              "Bon",
              "Berlin"
            ]
          }
        }
    }
  }
}

Или этот:

{
  "Continent": {
    "Europe": {
      "Countries": [
        {
          "The Netherlands": {
            "Cities": [
              "Rotterdam",
              "Hag",
              "Amsterdam"
            ]
          }
        },
        {
          "Germany": {
            "Cities": [
              "Bon",
              "Berlin"
            ]
          }
        }
      ]
    }
  }
}

Интересно, между {"Страны":[{"Сеть... или {"Страны":{"Сеть..

Все, что вам нужно сделать, это использовать любой язык программирования и попробовать его проанализировать. Если он недействителен, будет ошибка. И действительно, один из двух недействителен.

Evert 14.02.2023 01:13

На самом деле существует множество веб-сайтов с валидаторами/линтерами json.

bolov 14.02.2023 01:14

Какой язык вы используете для создания JSON? Если это не какая-то непонятная функциональность MS Access, есть вероятность, что он либо изначально поддерживает JSON, либо для него существует библиотека/модуль для работы с JSON. Не генерируйте JSON путем конкатенации строк. Это не просто, и есть много угловых случаев.

axiac 14.02.2023 01:40

Сначала я создаю некоторый объект (словарь, массив или коллекцию), а затем анализирую с помощью библиотеки JSON Converter... VBA изначально не поддерживает JSON. И это меня немного смущает, так как я только начал иметь дело с JSON... Поэтому я хочу уточнить некоторые неизвестные @axiac

MBMSOFT 14.02.2023 02:12

Пример кода в документации VBA-JSON вводит в заблуждение. Dim Json As Object — это не JSON, это объект. Это распространенная путаница между JSON и объектом, используемым для создания JSON (или декодированным из JSON), который делают многие разработчики. Измените это на Dim obj as Object, и все станет более ясным.

axiac 14.02.2023 02:35

Надеюсь, вы не сгенерировали первый пример из своего вопроса, используя VBA-JSON. Это недопустимый JSON, поэтому его нельзя проанализировать.

axiac 14.02.2023 02:40

Нет, я не генерировал с помощью VBA JSON, просто я написал в качестве примера, ища результат, который я должен получить в и. Поэтому мне нужно было лучше понять, что именно я должен делать, и я использовал этот пример со странами, чтобы быть более понятным @axiac

MBMSOFT 14.02.2023 03:03
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
Уроки CSS 6
Уроки CSS 6
Здравствуйте дорогие читатели, я Ферди Сефа Дюзгюн, сегодня мы продолжим с вами уроки css. Сегодня мы снова продолжим с так называемых классов.
Что такое Css? Для чего он используется?
Что такое Css? Для чего он используется?
CSS, или "Каскадные таблицы стилей", - это язык стилей, используемый в веб-страницах. CSS является одним из основных инструментов веб-разработки...
2
8
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Поскольку у вас есть массив Country[], я бы посоветовал вам переименовать ключ Country на Countries:

Countries: [{}, {}]

Да, @devpolo, у меня есть массив Country, поэтому второй должен быть правильным...

MBMSOFT 14.02.2023 01:20

ИМХО, лучший способ сохранить отношения

{
  "Continens": {
    "Continent": "Europe",
    "Countries": [
      {
        "Country": "The Netherlands",
        "Cities": [
          "Rotterdam",
          "Hag",
          "Amsterdam"
        ]
      },
      {
        "Country": "Germany",
        "Cities": [
          "Bon",
          "Berlin"
        ]
      }
    ]
  }
}

Занятия (перевести на ваш язык)

 public class World
    {
        public Continens Continens { get; set; }
    }
     public class Continens
    {
        public string Continent { get; set; }
        public List<Country> Countries { get; set; }
    }

    public class Country
    {
        public string Country { get; set; }
        public List<string> Cities { get; set; }
    }

Другие вопросы по теме