Как в json передать массив
Понадобилась запись в JSON, начал изучать мануалы, и что-то не могу найти примеры по записи в Json массива элементов, состоящего из строк-структур, например:
Иванов Иван Иванович;Инженер;Москва
Сидоров Сидор Сидорович;Слесарь;Санкт-Петербург
По одному делаю запись так:
ИмяФайлаВыгрузки = КаталогВременныхФайлов() + «\123.json»;
// Пример записи JSON
Структура = Новый Структура;
Структура.Вставить(«ФИО»,»Иванов Иван Иванович»);
Структура.Вставить(«Должность», «Инженер»);
Структура.Вставить(«Город», «Москва»);
ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON();
ЗаписьJSON.ОткрытьФайл(ИмяФайлаВыгрузки, , , ПараметрыЗаписи) ;
ЗаписатьJSON(ЗаписьJSON, Структура);
ЗаписьJSON.Закрыть();
<
«ФИО»: «Иванов Иван Иванович»,
«Должность»: «Инженер»,
«Город»: «Москва»
>
А как выгрузить несколько строк?
(0) Массив = Новый Массив;
Массив.Добавить(Новый Структура);
Массив.Добавить(Новый Структура);
Сделай структуру списка физ лиц и помещай в неё структуру данных по физ лицам
>>Структура = Новый Структура;
не делай так
JSON — Массивы
Массивы в JSON почти то же самое, что массивы в JavaScript.
В JSON элементами массива могут быть строки, числа, объекты, массивы, boolean или null.
В JavaScript элементами массива кроме перечисленных также могут быть другие допустимые выражения JavaScript, включая функции, даты и undefined.
[ "Ford", "BMW", "Fiat" ]
Массивы в объектах JSON
Массивы могут быть значениями свойств объектов:
Доступ к значениям массива
Получить доступ к значению элемента массива можно при помощи номера его индекса:
x = myObj.cars[0];
Обход элементов массива
Последовательно обойти все элементы массива можно при помощи цикла for-in:
for (i in myObj.cars)
Или при помощи цикла for:
for (i = 0; i
Вложенные массивы в объектах JSON
Значениями массива также могут быть другие массивы или даже другие объекты JSON:
myObj = < "name":"John", "age":30, "cars": [ < "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] >, < "name":"BMW", "models":[ "320", "X3", "X5" ] >, < "name":"Fiat", "models":[ "500", "Panda" ] >] >
Чтобы получить доступ к массивам внутри других массивов, используйте цикл for-in для каждого массива:
for (i in myObj.cars) < x += "" + myObj.cars[i].name + "
"; for (j in myObj.cars[i].models) < x += myObj.cars[i].models[j]; >>
Изменение значений массива
Чтобы изменить значение элемента массива, используется его номер индекса:
myObj.cars[1] = "Mercedes";
Удаление элемента массива
Чтобы удалить элемент из массива, используется ключевое слово delete:
delete myObj.cars[1];
Как в js преобразовать массив в json
Чтобы преобразовать массив в строку JSON , можно воспользоваться методом JSON.stringify() :
[1,2,3,4,5]
23 октября 2022
В дополнение к ответу выше хочется упомянуть о дополнительных возможностях метода JSON.stringify():
Перейдем сразу к примеру:
//Дан массив объектов с вложенной структурой const users = [ name: 'Karina', password: 'qwerty', info: age: 25, children: true, >, >, name: 'Mark', login: 'alice', info: age: 27, children: false, >, >, ]; console.log(JSON.stringify(users)); //Если воспользоваться стандартным способом, то вывод в консоли будет следующий: // => [>, //>]
Согласитесь, что этот способ не очень читаемый.
Если мы передадим третьим параметром число или символ, то он сможет использоваться
для управления интервалом в конечной строке.
console.log(JSON.stringify(users, null, 2)); // => //[ // // "name": "Karina", // "password": "qwerty", // "info": // "age": 25, // "children": true // > // >, // // "name": "Mark", // "login": "alice", // "info": // "age": 27, // "children": false // > // > //]
Теперь вывод в консоли стал более читаем. Также третьим параметром можно передать и символы.
Посмотрим, как это будет выглядеть:
console.log(JSON.stringify(users, null, '-/-')); // => //[ //-/- //-/--/-"name": "Karina", //-/--/-"password": "qwerty", //-/--/-"info": //-/--/--/-"age": 25, //-/--/--/-"children": true //-/--/-> //-/->, //-/- //-/--/-"name": "Mark", //-/--/-"login": "alice", //-/--/-"info": //-/--/--/-"age": 27, //-/--/--/-"children": false //-/--/-> //-/-> //]
Возможно, эти способы окажутся для вас полезными.
JavaScript JSON Массивы
Массивы в JSON почти такие же, как массивы в JavaScript.
В JSON значения массива должны иметь тип string, number, object, array, boolean или null.
В JavaScript значениями массива могут быть все вышеперечисленное, а также любое другое допустимое выражение JavaScript, включая функции, даты и неопределенные.
Массивы в объектах JSON
Массивы могут быть значениями свойства объекта:
Пример
<
«name»:»Щипунов»,
«age»:30,
«cars»:[ «Форд», «BMW», «Фиат» ]
>
Доступ к значениям массива
Вы получаете доступ к значениям массива, используя число индекса:
Пример
x = myObj.cars[0];
Цикл по массиву
Вы можете получить доступ к значениям массива, используя цикл for-in:
Пример
for (i in myObj.cars) <
x += myObj.cars[i];
>
Или вы можете использовать цикл for :
Пример
for (i = 0; i < myObj.cars.length; i++) <
x += myObj.cars[i];
>
Вложенные массивы в объектах JSON
Значения в массиве также могут быть другим массивом или даже другим объектом JSON:
Пример
myObj = <
«name»:»Щипунов»,
«age»:30,
«cars»: [
< "name":"Форд", "models":[ "Fiesta", "Focus", "Mustang" ] >,
< "name":"BMW", "models":[ "320", "X3", "X5" ] >,
< "name":"Фиат", "models":[ "500", "Panda" ] >
]
>
Чтобы получить доступ к массивам внутри массивов, используйте цикл for-in для каждого массива:
Пример
for (i in myObj.cars) <
x += «
» + myObj.cars[i].name + «
«;
for (j in myObj.cars[i].models) <
x += myObj.cars[i].models[j];
>
>
Изменить значения массива
Используйте число индекса для изменения массива:
Пример
myObj.cars[1] = «Mercedes»;
Удалить элементы массива
Используйте ключевое слово delete для удаления элементов из массива:
Пример
delete myObj.cars[1];
Мы только что запустили
SchoolsW3 видео
ВЫБОР ЦВЕТА

курс сегодня!
Сообщить об ошибке
Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:
Ваше предложение:
Спасибо Вам за то, что помогаете!
Ваше сообщение было отправлено в SchoolsW3.
ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат
SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.