Перейти к содержимому

Конвертация JSON в SQLite

Перетащите файл JSON, чтобы получить скрипт для SQLite с командами CREATE TABLE и INSERT. Каждый столбец получает тип, а каждое исправление указано со строкой и столбцом.

Ваш файл
jsonpedidos_2024.jsonПример файла, 771 Б
Ваша база данных

4 строки конвертированы, 2 исправления, ни одна не отклонена

Показать
Первые строки pedidos_2024.json, каждое исправление отмечено
Строка
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for SQLite.

BEGIN;

CREATE TABLE pedidos_2024 (
    pedido TEXT NOT NULL,
    cliente TEXT NOT NULL,
    fecha DATETIME NOT NULL,
    total NUMERIC(6,2) NOT NULL,
    pagado BOOLEAN NOT NULL,
    notas TEXT
);

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, 1, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, 0, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, 1, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, 1, 'Factura con "RFC"');

COMMIT;

Исправления

  1. В "pedido" сохранены ведущие нули: 000481 остается 000481 и хранится как текст.
  2. "pagado" содержит слова да и нет (sí), они сохранены как логические значения.

Файл конвертируется на этом компьютере и никуда не загружается.

Другие примеры:

Из JSON в SQLite, столбец за столбцом

Пример выше, pedidos_2024.json, в том виде, в котором IntoSQL записывает его для SQLite: что хранит каждый столбец в файле, какой тип он получает и как его первое значение попадает в скрипт.

В файлеПервое значениеСтолбецТип в SQLiteВ скрипте
pedido000481pedidoTEXT'000481'
clientePeña MuñozclienteTEXT'Peña Muñoz'
fecha2024-02-03T10:15:00ZfechaDATETIME'2024-02-03 10:15:00+00:00'
total1234.5totalNUMERIC(6,2)1234.5
pagadotruepagadoBOOLEAN1
notas-notasTEXTNULL

Загрузите скрипт в SQLite

Вы скачиваете обычный файл .sql. Запустите его штатными средствами SQLite.

Из терминала

sqlite3 pedidos_2024.db < pedidos_2024.sqlite.sql

Файл базы данных создается, если его нет. Конвертер также скачивает готовую базу .sqlite, вообще без команд.

Из клиента базы данных

В DB Browser for SQLite выберите Execute SQL, откройте скрипт и выполните его.

Без скрипта

Командная строка загружает файл прямо в базу SQLite, без написания скрипта. Это бесплатно.

intosql load pedidos_2024.json --into pedidos_2024.db

Что нужно знать о файлах JSON и SQLite

Что IntoSQL читает в файлах JSON

  • Файл может быть массивом объектов, объектом, который хранит этот массив под ключом вроде data, или одним объектом на строку (NDJSON).
  • Каждый ключ становится столбцом. Объекты и массивы внутри значения сохраняются как текст JSON.
  • Числа сохраняют все свои цифры, а даты ISO 8601 становятся датами или метками времени.

Что нужно знать о SQLite

  • Каждый столбец получает тип, нужный его значениям, например INTEGER, NUMERIC, TEXT, DATE или BOOLEAN; да и нет хранятся как 1 и 0.
  • Десятичные числа длиннее 15 цифр остаются TEXT, чтобы ни одна цифра не потерялась при округлении.
  • Скачайте скрипт SQLite или готовую базу данных .sqlite, собранную в вашем браузере.

Как каждый вид значений хранится в SQLite

ЗначениеSQLite
Да и нетBOOLEAN
Целые числаINTEGER
Большие целые числаINTEGER
Десятичные числаNUMERIC(p,s)TEXT
Числа с плавающей точкойREAL
ДатыDATE
Время сутокTIME
Даты со временемDATETIME
Даты со временем и смещениемDATETIME
ТекстTEXT

Вопросы о JSON в SQLite

Нет ответа на ваш вопрос? Напишите нам через страницу контактов, и вам ответит человек. Страница контактов

Как конвертировать JSON в SQLite?

Перетащите файл в конвертер в верхней части этой страницы. Он находит заголовок, читает каждое значение и записывает скрипт для SQLite, перечисляя каждое исправление. Скачайте скрипт и запустите его через sqlite3.

Какой структуры должен быть файл JSON?

Массив объектов, объект с таким массивом под ключом вроде data или по одному объекту в строке (NDJSON). Каждый ключ становится столбцом.

Какие типы SQLite используются?

Значения да и нет становятся BOOLEAN, целые числа INTEGER, дробные NUMERIC(p,s), даты DATE, даты со временем DATETIME, а текст TEXT. Размеры берутся по самому длинному значению в каждом столбце.

Сохраняются ли ведущие нули в SQLite?

Да. Код вроде 000481 остается текстом, поэтому SQLite хранит его как TEXT, а скрипт записывает как '000481'.

Можно ли загрузить данные в SQLite без скрипта?

Да, бесплатно: intosql load создает файл базы SQLite и загружает в него строки. Конвертер на этой странице также скачивает готовую базу .sqlite.

Насколько большим может быть файл JSON?

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