Имя: Пароль:
1C
 
Запись в JSON
,
0 antihacker
 
11.03.19
15:29
Всем привет !

Ни как не могу записать JSON  в таком формате

[{"Header":11111,"0":[{"id":"***"},{"id":"***"}]},{"Header":22222,"0":[{"id":"***"},{"id":"***"}]},{"Header":11111,"0":[{"id":"-----"},{"id":"-----"}]},{"Header":22222,"0":[{"id":"-----"},{"id":"-----"}]}]

Подскажите люди добрые.
1 Ёпрст
 
11.03.19
15:31
(0) ошибка в 24 строке
2 antihacker
 
11.03.19
15:32
Вот мой код

Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
Запись.ЗаписатьНачалоМассива();

//Отбор = Новый Структура;
//Отбор.Вставить("ЭтоГруппа",ЛОжь);
//СписокНоменклатур = Справочники.Номенклатура.Выбрать();

Для Каждого ТекНоменклатура Из Объект.ТЧСписокНоменклатур Цикл
    
          Запись.ЗаписатьНачалоОбъекта();
          
          Запись.ЗаписатьИмяСвойства("nom_id");
          Запись.ЗаписатьЗначение(Число(ТекНоменклатура.КодСистемыОР));
          
          Запись.ЗаписатьИмяСвойства("id_from_client");
          Запись.ЗаписатьЗначение(СокрЛП(ТекНоменклатура.КодНоменклатуры));
          
          Запись.ЗаписатьИмяСвойства("nomenclature_name_from_OR");
          Запись.ЗаписатьЗначение(СокрЛП(ТекНоменклатура.ИмяНоменклатурыИзОР));
          
          Запись.ЗаписатьИмяСвойства("nomenclature_name");
          Запись.ЗаписатьЗначение(СокрЛП(ТекНоменклатура.Номенклатура.Наименование));
          
          Запись.ЗаписатьИмяСвойства("unit");
          Запись.ЗаписатьЗначение(СокрЛП(ТекНоменклатура.ЕИ));                
          
          Запись.ЗаписатьИмяСвойства("nomenclature_price");
          Запись.ЗаписатьЗначение(Число(ТекНоменклатура.Цена));
          
          Запись.ЗаписатьКонецОбъекта();
          
КонецЦикла;

Запись.ЗаписатьКонецМассива();
strJSON = Запись.Закрыть();

Возврат strJSON;
3 Ёпрст
 
11.03.19
15:41
(0)
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписьJSON.ЗаписатьНачалоМассива();
    Структура = Новый Структура;
    Структура.Вставить("Header",11111);
    МассивПараметров = Новый Массив;
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id",1);
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id",2);
    МассивПараметров.Добавить(СтруктураПараметров);
    Структура.Вставить("O",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Структура);
    ЗаписьJSON.ЗаписатьКонецМассива();
    Сообщиь(ЗаписьJSON.Закрыть());
4 Ёпрст
 
11.03.19
15:41
надеюсь, разберешься..
5 polosov
 
11.03.19
15:42
(0) Ключи в виде цифр не поддерживаются в 1с. Формируй текст сам.
6 Ёпрст
 
11.03.19
15:46
(5) это ограничение обходится, путём стрЗаменить на выходе
7 Ёпрст
 
11.03.19
15:47
и.. автор видать просто не знает, как вложенные массивы json делать, об этом его вопрос был
8 antihacker
 
12.03.19
07:10
Нет я знаю конечно.  Вот пример -  http://v8.1c.ru/o7/201410json/index.htm

Но не дает мне нужный формат.
9 antihacker
 
12.03.19
09:31
Вот в таком формате нужен

[{"Header":"АБП1","1":[{"id":"Оплата труда"},{"id":"2000"}]},{"Header":"АБП2","2":[{"id":"Оплата труда"},{"id":"4000"}]},{"Header":"АБП3","3":[{"id":"Оплата труда"},{"id":"6000"}]},{"Header":"АБП4","4":[{"id":"Оплата труда"},{"id":"8000"}]}]
10 antihacker
 
12.03.19
10:07
Или же как можно прочесть на PHP  такую строку
[{"Header":"ABP","id":["Оплата труда","2000","2500"]},{"Header":"АБП2","id":["Оплата труда","2000","2500"]}]
11 Ёпрст
 
12.03.19
10:09
(9) И ? см.(3)
12 Ёпрст
 
12.03.19
10:15
И если че, в (9) и (10) разные массивы. Тебе что в итоге нннадо ?
13 antihacker
 
12.03.19
10:22
Вот это - [{"Header":"ABP","id1":["Gplata trusa","2000","5500"]},{"Header":"АБП2","id":["Оплата труда","2000","2500"]}]
Читаю вот так
foreach ($decoded as $person_name => $person_a)
        {
            echo $person_a['Header'];
            echo "=";

            foreach ($person_a as $person_name1 => $person_a1)
            {
            
                    foreach ($person_a1 as $person_name2 => $person_a2)
                    {
                     echo $person_a2['id'];  
                     echo ",";  
                    }
                                  
            }
            echo "|*|";
            //echo $person_a['Header'];    
        }

Результат
ABP=G,2,5,|*|АБП2=�,2,2,|*|ABP=G,2,5,|*|АБП2=�,2,2,|*|

Почему то берет только первые символы
14 Ёпрст
 
12.03.19
10:24
Если не знаешь, как правильно "собрать" json в 1с-ине, делай обратную операцию: то что в  (9) или в (10) кидаешь в в файлик вася.json, ну и дальше смотришь в отладчике МассивJSON:

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл("f:\вася.json");
МассивJSON= ПрочитатьJSON(ЧтениеJSON);
15 Asmody
 
12.03.19
10:26
(13) в твоем php украли json_decode()?
16 antihacker
 
12.03.19
10:27
Нее он в начале есть конечно

$decoded = json_decode(($_GET['param']), true);
17 Asmody
 
12.03.19
10:36
Возможно, у тебя на стороне php с кодировками беда.
18 antihacker
 
12.03.19
10:47
Да нет. Вот есть

<?php
header("Content-Type: text/html; charset=utf-8");
19 Ёпрст
 
12.03.19
10:54
(18) это, тебе надо получить от твоего сервера json или послать туда ? Или и то и то ? И...проблема то у тебя где ? В 1с-ине не можешь прочитать/создать? Или на стороне сервера?
20 Ёпрст
 
12.03.19
10:55
а то в (0) пишешь про 1с, в (13) про php
21 antihacker
 
12.03.19
11:24
Мне надо принять такой джисон
[{"Header":"АБП1","1":[{"id":"Оплата труда"},{"id":"2000"},{"id":"2500"}]},{"Header":"АБП2","2":[{"id":"Оплата труда"},{"id":"4000"}]},{"Header":"АБП3","3":[{"id":"Оплата труда"},{"id":"6000"}]},{"Header":"АБП4","4":[{"id":"Оплата труда"},{"id":"8000"}]}]

Но в 1с получается только

[{"Header": "АБП","id": ["1","2"]}]

Разницу видите ?
22 Ёпрст
 
12.03.19
11:28
(21) биомать а ? принять где ? в 1с или на твоём сервисе ?
23 antihacker
 
12.03.19
11:29
на сервисе PHP
24 Ёпрст
 
12.03.19
11:30
и проблема твоя в чем ? не можешь создать json нужной структуры или прочитать его ?
25 Ёпрст
 
12.03.19
11:31
(23) т.е твоя проблема, что в 1с-ине не можешь создать json нужной структуры или что ?

или на сервисе PHP не можешь прочитать json ?
26 antihacker
 
12.03.19
11:35
Не могу в 1С создать [{"Header":"АБП1","1":[{"id":"Оплата труда"},{"id":"2000"},{"id":"2500"}]},{"Header":"АБП2","2":[{"id":"Оплата труда"},{"id":"4000"}]},{"Header":"АБП3","3":[{"id":"Оплата труда"},{"id":"6000"}]},{"Header":"АБП4","4":[{"id":"Оплата труда"},{"id":"8000"}]}]
27 Вафель
 
12.03.19
11:38
а если соответствие вместо структуры?
28 antihacker
 
12.03.19
11:42
Вафель, не хочу усложнять
29 Fragster
 
гуру
12.03.19
11:42
(27) а там порядок полей кривой
30 Вафель
 
12.03.19
11:43
а что нужен порядок полей? это же жисон
31 Fragster
 
гуру
12.03.19
11:44
Соответствие = Новый Соответствие();
Соответствие.Вставить("Header", "1234");

Массив = Новый Массив();
СоответствиеМассив = Новый Соответствие();
СоответствиеМассив.Вставить("id", "Оплата труда");
Массив.Добавить(СоответствиеМассив);
СоответствиеМассив = Новый Соответствие();
СоответствиеМассив.Вставить("id", 2000);
Массив.Добавить(СоответствиеМассив);
СоответствиеМассив = Новый Соответствие();
СоответствиеМассив.Вставить("id", 2500);
Массив.Добавить(СоответствиеМассив);

Соответствие.Вставить("1", Массив);
Соответствие.Вставить("2", Массив);

МассивОбщий = Новый Массив();
МассивОбщий.Добавить(Соответствие);

Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, МассивОбщий);

Результат = Запись.Закрыть();



(30) видимо, на той стороне такой же, как и на этой. А вообще гляжу на струкуту этого json и вижу, что сочинял её третий такой же. Ну не логичная она ни разу.
32 Fragster
 
гуру
12.03.19
11:45
* такой же программист, как и на этой.
33 antihacker
 
12.03.19
11:46
Пример от сюда взял
http://v8.1c.ru/o7/201410json/index.htm
34 Ёпрст
 
12.03.19
11:48
(26) На вот, развлекайся


    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписьJSON.ЗаписатьНачалоМассива();
    
    Структура = Новый Структура;
    Структура.Вставить("Header","АБП1");
    МассивПараметров = Новый Массив;
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","2000");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","3000");
    МассивПараметров.Добавить(СтруктураПараметров);
    Структура.Вставить("Вася1",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Структура);
    
    Структура.Вставить("Header","АБП2");
    МассивПараметров = Новый Массив;
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","Еще какая хрень");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","1000");
    МассивПараметров.Добавить(СтруктураПараметров);
    Структура.Вставить("Вася2",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Структура);
    
    Структура.Вставить("Header","АБП3");
    МассивПараметров = Новый Массив;
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","От ведь как");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","6000");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","8000");
    МассивПараметров.Добавить(СтруктураПараметров);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("id","9000");
    МассивПараметров.Добавить(СтруктураПараметров);
    Структура.Вставить("Вася3",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Структура);
    
    
    ЗаписьJSON.ЗаписатьКонецМассива();
    Сообщить(СтрЗаменить(ЗаписьJSON.Закрыть(),"Вася",""));

35 Ёпрст
 
12.03.19
11:50
(31) блин, про соответствие забыл, ну да..так проще, не надо морочиться с ключами - цифрами.
36 antihacker
 
12.03.19
11:52
Вот именно по задаче ключи не имеют значения, так в массивах есть уникальные данные. На них и будем ориентироваться.
37 Вафель
 
12.03.19
11:53
если ключи не важны, то пиши например ключ "ТЧ"
38 Garykom
 
гуру
12.03.19
11:54
(26) У тя json кривой и не валидный, поэтому и не получается
39 Fragster
 
гуру
12.03.19
11:54
(38)да не, валидный. но структуру придумывал победитель специальной олимпиады
40 Вафель
 
12.03.19
11:55
вполне валидный
dgjkyt dfk
41 Вафель
 
12.03.19
11:55
42 Ёпрст
 
12.03.19
11:55

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписьJSON.ЗаписатьНачалоМассива();
    
    Соответствие = Новый Соответствие;
    Соответствие.Вставить("Header","АБП1");
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","2000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("1",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    Соответствие.Вставить("Header","АБП2");
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Еще какая хрень");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","1000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("2",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    Соответствие.Вставить("Header","АБП3");
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","От ведь как");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","6000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","8000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","9000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("3",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    
    ЗаписьJSON.ЗаписатьКонецМассива();
    
    Сообщить(ЗаписьJSON.Закрыть());
43 Fragster
 
гуру
12.03.19
11:55
чтобы неудобно было и отправителю и получателю
44 Garykom
 
гуру
12.03.19
11:57
(41) Форматтер ничего не проверяет а просто пытается отформатировать и у меня вышла хрень
45 Вафель
 
12.03.19
11:58
(44) там есть кнопка валидировать
46 Ёпрст
 
12.03.19
12:02
Можно еще JSToll в np++
47 Garykom
 
гуру
12.03.19
12:03
(45) Понял меня сбили одинаковые "id" но оно же в объекты обернуто внутри массива
48 antihacker
 
20.03.19
10:42
Вот  результат

[
{
"1": [
{
"id": "Оплата труда"
},
{
"id": "2000"
},
{
"id": "3000"
}
],
"Header": "АБП1"
},
{
"1": [
{
"id": "Оплата труда"
},
{
"id": "2000"
},
{
"id": "3000"
}
],
"Header": "АБП2",
"2": [
{
"id": "Еще какая хрень"
},
{
"id": "1000"
}
]
},
{
"1": [
{
"id": "Оплата труда"
},
{
"id": "2000"
},
{
"id": "3000"
}
],
"Header": "АБП3",
"2": [
{
"id": "Еще какая хрень"
},
{
"id": "1000"
}
],
"3": [
{
"id": "От ведь как"
},
{
"id": "6000"
},
{
"id": "8000"
},
{
"id": "9000"
}
]
}
]

не могу понять почему "Header": "АБП1" падает в конец ?
49 Вафель
 
20.03.19
10:43
так тебе еще и порядок реквизитов нужен?
50 antihacker
 
20.03.19
10:45
Ну конечно
51 Вафель
 
20.03.19
10:46
(50) ну тогда только по тегово записывать через ЗаписьXML
52 antihacker
 
20.03.19
10:46
Там даже не в порядке, а в формате. Почему то первы массив  "Header": "АБП1" имепет не правильный формат
53 Вафель
 
20.03.19
10:46
*ЗаписьJSON
54 antihacker
 
22.03.19
09:40
Вафель, что это означает ?  *ЗаписьJSON ?
55 antihacker
 
22.03.19
09:45
Вот код

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписьJSON.ЗаписатьНачалоМассива();
    
    Соответствие = Новый Соответствие;
    Соответствие.Вставить("Header","АБП");        
    //ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    МассивПараметров = Новый Массив;
    
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");    
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    СоответствиеПараметров = Новый Соответствие;    
    СоответствиеПараметров.Вставить("id","2000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    Соответствие.Вставить("1",МассивПараметров);
    //ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    
    МассивПараметров = Новый Массив;
    
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда2222");    
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    СоответствиеПараметров = Новый Соответствие;    
    СоответствиеПараметров.Вставить("id","22000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","333000");
    МассивПараметров.Добавить(СоответствиеПараметров);
    
    Соответствие.Вставить("2",МассивПараметров);
    
    ЗаписатьJSON(ЗаписьJSON,Соответствие);


Вот результат

[
{
"1": [
{
"id": "Оплата труда"
},
{
"id": "2000"
},
{
"id": "3000"
}
],
"Header": "АБП",
"2": [
{
"id": "Оплата труда2222"
},
{
"id": "22000"
},
{
"id": "333000"
}
]
}
]
56 Ёпрст
 
22.03.19
09:51
Это же очевидно. Пропущена строка новый соответствие и запись
Json
57 antihacker
 
22.03.19
09:53
Ты про закомпостированные строчки ?
58 antihacker
 
22.03.19
09:53
закоментированные строчки ?
59 novichok79
 
22.03.19
09:58
типа 1С так не может, да?

Функция СериализоватьВJSON(Объект) Экспорт  

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;

    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет);
    ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);

    Попытка
        
        ЗаписатьJSON(ЗаписьJSON, Объект);
        ТелоJSON = ЗаписьJSON.Закрыть();

    Исключение
        
        ТелоJSON = "";
        
    КонецПопытки;

    Возврат ТелоJSON;
    
КонецФункции

АррайГлавный = Новый Массив;
АррайЁпт = Новый Массив;

Для Счетчик = 1 По 3 Цикл
HashMAP = Новый Соответствие;
HashMAP.Вставить("id", "sick_my_duck" + Формат(Счетчик, "ЧН=;ЧГ=0"));
АррайЁпт.Добавить(HashMAP);
КонецЦикла

ВнешняяХрень = Новый Соответствие;
ВнешняяХрень.Вставить("Header", 11111);
ВнешняяХрень.Вставить("0", АррайЁпт);

АррайГлавный.Добавить(ВнешняяХрень);
АррайГлавный.Добавить(ВнешняяХрень);
АррайГлавный.Добавить(ВнешняяХрень);

JSON = СериализоватьJSON(АррайГлавный);
60 novichok79
 
22.03.19
10:04
так у тебя "id" - значения соответствия, они повторяются.
делай тогда "id1", "id2", а потом стрзаменить в конце.
61 antihacker
 
22.03.19
10:07
Они и должны поворотятся.
62 novichok79
 
22.03.19
10:16
&НаСервере
Функция СериализоватьВJSON(Объект)

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;

    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет);
    ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);

    Попытка
        
        ЗаписатьJSON(ЗаписьJSON, Объект);
        ТелоJSON = ЗаписьJSON.Закрыть();

    Исключение
        
        ТелоJSON = "";
        
    КонецПопытки;

    Возврат ТелоJSON;
    
КонецФункции

&НаСервере
Функция ЕбалаНаСервере()
    
    АБП = Новый Соответствие;
    
    АБП.Вставить("АБП1", "1");
    АБП.Вставить("АБП2", "2");
    АБП.Вставить("АБП3", "3");
    АБП.Вставить("АБП4", "4");

    АБПОплата = Новый Соответствие;
    
    АБПОплата.Вставить("АБП1", "2000");
    АБПОплата.Вставить("АБП2", "4000");
    АБПОплата.Вставить("АБП3", "6000");
    АБПОплата.Вставить("АБП4", "8000");

    Перечисление = Новый Массив;
    
    Для Каждого КлючЗначение Из АБП Цикл
        
        Header = КлючЗначение.Ключ;
        Value = КлючЗначение.Значение;
        Amount = АБПОплата.Получить(Header);

        Времяночка = Новый Соответствие;
        Времяночка.Вставить("id", "Оплата труда");
        Времяночка1 = Новый Соответствие;
        Времяночка1.Вставить("id", Amount);

        ПеречислениеВнутр = Новый Массив;
        ПеречислениеВнутр.Добавить(Времяночка);
        ПеречислениеВнутр.Добавить(Времяночка1);

        КонтейнерМусора = Новый Соответствие;
        КонтейнерМусора.Вставить("Header", Header);
        КонтейнерМусора.Вставить(Value, ПеречислениеВнутр);
        
        Перечисление.Добавить(КонтейнерМусора);

    КонецЦикла;
    
    Ебала = СериализоватьВJSON(Перечисление);

    Возврат Ебала;

КонецФункции
63 novichok79
 
22.03.19
10:16
[{"2":[{"id":"Оплата труда"},{"id":"4000"}],"Header":"АБП2"},{"3":[{"id":"Оплата труда"},{"id":"6000"}],"Header":"АБП3"},{"4":[{"id":"Оплата труда"},{"id":"8000"}],"Header":"АБП4"},{"1":[{"id":"Оплата труда"},{"id":"2000"}],"Header":"АБП1"}]
64 novichok79
 
22.03.19
10:19
ну если порядок нужен, то только через ЗаписьJSON или вручную сериализовать, структура у тебя текстовая вообще ненапряжно.
65 Ёпрст
 
22.03.19
10:49
(54) под каждый элемент массива нужно новое соответствие и его запись в json
66 antihacker
 
22.03.19
13:00
Нее мне нужен такой порядок

[{"Header":"АБП","0":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"Оплата труда"},{"id":"3"},{"id":"4"}]}]
67 antihacker
 
22.03.19
13:02
ОЙ СОРИИИ.

Такой

[{"Header":"АБП","0":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}],"1":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}]}]
68 antihacker
 
22.03.19
13:05
Если полностью то так

[{"Header":"АБП","0":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}],"1":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}]},{"Header":"АБП1","0":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}],"1":[{"id":"Оплата труда"},{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}]}]
69 Сияющий в темноте
 
22.03.19
13:14
Можно через запись текста собрать вручную,а для хранения с порядком использовать массивы-первый элемент имя поля,следующий-значение.
70 antihacker
 
22.03.19
14:28
сОБИРАТЬ json В РУЧНУЮ , как то колхозно.
71 Ёпрст
 
22.03.19
15:10
От ты нудный


    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписьJSON.ЗаписатьНачалоМассива();
    
    Соответствие = Новый Соответствие;
    Соответствие.Вставить("Header","АБП");
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","2");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","4");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("0",МассивПараметров);
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","2");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","4");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("1",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    Соответствие = Новый Соответствие;
    Соответствие.Вставить("Header","АБП1");
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","2");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","4");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("0",МассивПараметров);
    МассивПараметров = Новый Массив;
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","Оплата труда");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","2");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","3");
    МассивПараметров.Добавить(СоответствиеПараметров);
    СоответствиеПараметров = Новый Соответствие;
    СоответствиеПараметров.Вставить("id","4");
    МассивПараметров.Добавить(СоответствиеПараметров);
    Соответствие.Вставить("1",МассивПараметров);
    ЗаписатьJSON(ЗаписьJSON,Соответствие);
    
    
    
    ЗаписьJSON.ЗаписатьКонецМассива();
    
    Сообщить(ЗаписьJSON.Закрыть());
72 Сияющий в темноте
 
22.03.19
17:46
70 иногдп очень полезно,особенно,если не совсем json.
можно даты писать в одинарных кавычках.
не забываем,что javascript кушает строки в одинарных кавычках на ура,но в стандарте этого нет.
Программист всегда исправляет последнюю ошибку.