Цитата(Madeus @ 11.4.2021, 16:54)
Не могу)
Ну, видимо, файл с важными данными)
Я тут подумал, а чего бы тогда самому не сделать json файл?
Если кому пригодится создание json файла любого размера и наполнения, то сейчас расскажу что я выяснил на этот счет.
Ранее с json я особо не пересекался. Как я понял, это есть массив хэш-таблиц. Возможно оно не совсем так, но для создания болванки, такого понимания нам будет достаточно.
Хэш-таблица - это, проще говоря, такой массив данных, где есть ключ и его значение.
Вот так выглядит создание хэш-таблицы:
$table = @{
name = "Коля"
age = 25
}
Так, с hashtable понятно, теперь нам нужен массив, в который мы будем писать таблицы.
У массива размер изменять нельзя.
Так что мы воспользуемся типом данных "коллекция". У коллекций размер не фиксируется в момент создания, и в нее можно спокойно добавлять элементы через метод
Add() .
Итак, мы определились с набором инструментов, можно приступать.
План такой:
1. инициализируем коллекцию
2. через цикл
for добавим в нее несколько тысяч записей, например, клиентов банка
3. переведем массив таблиц в json формат
4. запишем в файл
так будет выглядеть файл
Код
[
{
"Name": "Client_1",
"Age": 30,
"Money": 3318,
"Address": {
"Country": "Russia",
"City": "Moscow"
}
},
{
"Name": "Client_2",
"Age": 35,
"Money": 4537,
"Address": {
"Country": "Russia",
"City": "Moscow"
}
}
]
Пишем:
--lua
log"clear";log"mode compact";require"luaposh"
PScode('r',{[[#}
$path = "D:\files\test.json"
$data = [Collections.ArrayList]::new()
for($i = 1; $i -le 10000; $i++){#}
[void]$data.Add(
@{#}
Name = "Client_$i"
Money = Get-Random -Maximum 5000
Age = Get-Random -Minimum 18 -Maximum 65
Address = @{#}
Country = "Russia"
City = "Moscow"
}
}
)
}
$json = $data|ConvertTo-Json
Set-Content $path $json
Log "Готово"
]]})
Теперь прочитаем данные из json файла.
Тут все просто. Читаем файл, и командой
ConvertFrom-Json конвертируем прочитанное в набор понятных объектов.
--lua
log"clear";log"mode compact";require"luaposh"
PScode('void',{[[#}
#
$clients = Get-Content -raw "D:\files\test.json" | ConvertFrom-Json
$clients[0..19]|Out-GridView -Title "Клиенты из Москвы"
#
]]})
Тут еще использована интересная команда
Out-GridView, которая покажет нам данные в таком удобном виде:
(информация о первых 20 клиентах)
Нажмите для просмотра прикрепленного файлаВ общем, кому понадобится создать болванку большого json файла, можете пользоваться)