Методический подход к поиску и предотвращению ошибок в JSON

JSON может быть очень сложно писать, но вот несколько советов:

  1. Проверяйте свой JSON, добавляя маленькие биты за раз, пока не найдете ошибку.
  2. Напишите свой json так, шаг за шагом, чтобы избежать ошибок:

Шаг 1: Добавьте начальную и конечную фигурные скобки:

{
}

Шаг 2: Добавьте первый элемент с начальной и конечной скобками:

{ "Findings": 
   [
   ]
}

Шаг 3: Добавьте следующий набор скобок:

{ "Findings": 
   [
      {
      }
   ]
}

Шаг 4: Добавьте свои элементы — будьте осторожны с кавычками и запятыми!

{ "Findings": 
   [
      {   
         "Name1": "Value1",
         "Name2": "Value2"
      }
   ]
}

Написание кода таким методичным образом поможет предотвратить ошибки.

При создании JSON с кодом напишите функцию для добавления новых значений, чтобы предотвратить ошибки:

add_json_element(name, value):

Таким образом, каждый раз, когда вы добавляете новый элемент, вы знаете, что все кавычки и запятые находятся в нужном месте.

Выделение повторяющегося кода в общую функцию или класс называется абстракцией, и я более подробно рассказал об этом в следующих сообщениях блога:





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

В моем последнем случае я создавал особенно большой файл в цикле, используя python. Я хотел убедиться, что моя базовая структура верна, поэтому я добавил разрыв после первых трех элементов, чтобы проверить, что у меня есть:

  • Без запятой перед первым элементом
  • Запятая между всеми элементами
  • Без запятой после последнего элемента

Мне не нужен был весь файл для проверки, мне нужны были только первые три элемента.

Если бы я пытался найти ошибку в одном элементе в большом файле (чего не было, потому что я создал правильно сформированный JSON, используя описанные выше стратегии), я бы начал с подсчета элементов в файле и анализа только половины файла. . Если бы я все еще получал ошибку, я бы разобрал четверть файла. Я бы продолжал уменьшать размер моего файла, пока не укажу ошибку. Затем я снова добавлял элементы по половине, пока не находил все ошибки в элементах и ​​не мог разобрать весь файл.

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

Связано с кодированием и декодированием с помощью python:



Тери Радичел

Если вам понравилась эта история, пожалуйста, аплодируйте и подпишитесь:

Medium: Teri Radichel or Email List: Teri Radichel
Twitter: @teriradichel or @2ndSightLab
Requests services via LinkedIn: Teri Radichel or IANS Research

© 2nd Sight Lab 2022

____________________________________________

Автор:

Кибербезопасность для руководителей в эпоху облаков на Amazon

Нужен тренинг по облачной безопасности? Обучение 2nd Sight Lab по облачной безопасности

Надежно ли ваше облако? Наймите 2nd Sight Lab для теста на проникновение или оценки безопасности.

Есть вопрос о кибербезопасности или безопасности облачных вычислений? Спросите Teri Radichel, запланировав звонок с IANS Research.

Ресурсы по кибербезопасности и облачной безопасности, Тери Радичел:Курсы по кибербезопасности и облачной безопасности, статьи, официальные документы, презентации и подкасты