|
Скобки в json | ☑ | ||
---|---|---|---|---|
0
ДядяМитяй
05.07.18
✎
15:51
|
Довольно глупая ситуация. Вот у меня код (для примера)
ЗаписьJSON = Новый ЗаписьJSON; ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб); ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписьJSON.ЗаписатьНачалоМассива(); счД = 1; Пока ВыборкаДог.Следующий() Цикл НомерДог = Строка(ВыборкаДог.Contract.Номер); ДатаДог = Строка(ВыборкаДог.Contract.Дата); ЗаписьJSON.ЗаписатьНачалоОбъекта(); ЗаписьJSON.ЗаписатьИмяСвойства("ContractNumber" + Строка(СчД)); ЗаписьJSON.ЗаписатьЗначение(НомерДог); ЗаписьJSON.ЗаписатьИмяСвойства("ContractDate" + Строка(СчД)); ЗаписьJSON.ЗаписатьЗначение(ДатаДог); ЗаписьJSON.ЗаписатьКонецОбъекта(); счД = счД + 1; КонецЦикла; ЗаписьJSON.ЗаписатьКонецМассива(); СтрJ = ЗаписьJSON.Закрыть(); Возвращает такое: [ { "ContractNumber1": "XC000265Y", "ContractDate1": "10.08.2013 0:00:00" }, { "ContractNumber2": "XC01691LY", "ContractDate2": "10.06.2018 0:00:00" } ] Как мне все это заключить в еще одни фигурные скобки - без лишних символов? Если добавить еще начало и конец объекта, то требуется установить его свойство и получается что-то вроде { "":[ а надо {[ |
|||
1
Fram
05.07.18
✎
15:53
|
Кому надо?
|
|||
2
Kigo_Kigo
05.07.18
✎
15:55
|
Узнать код символа и вставить как Текс + Симв(КодСимвола) + текст + Симв(КодСимвола) и так далее
|
|||
3
Скиурус
05.07.18
✎
15:57
|
>>а надо {[
Я взял твой пример и заключил его в фигурные скобки. И валидотор JSON сказал мне, что "Invalid JSON format!! Unable to process your request." Поэтому очевидный ответ: раз надо, значит сделай "{" + МойКодJSON + "}" |
|||
4
arsik
гуру
05.07.18
✎
15:58
|
Сделай сначала
ЗаписатьНачалоОбъекта() а уже потом все остальное. Объект в фигурных скобках, массив в квадратных. Тебе объект передать надо |
|||
5
ДядяМитяй
05.07.18
✎
16:05
|
(4) Вот. Я про это и спрашивал. Если началообъекта сделать, то обязательно за этим ЗаписатьИмяСвойства(). И вставляется двоеточие.
(1) "принимающей стороне". разработчику сайта. |
|||
6
Fram
05.07.18
✎
16:07
|
(5) принимающая сторона в курсе что это уже не json получится?
|
|||
7
Мыш
05.07.18
✎
16:09
|
(5) Делай обертку в скобки после выгрузки текста.
|
|||
8
ДядяМитяй
05.07.18
✎
16:53
|
(6) Да, я ей уже сообщил))) Сам в валидаторе проверил.
|
|||
9
ДядяМитяй
05.07.18
✎
16:57
|
(7) Это понятно. Я думал штатными средствами все сделать, чтоб красиво и опрятно. А меня, похоже, просто в заблуждение ввели.
Можно тему закрывать. |
|||
10
Chameleon1980
06.07.18
✎
05:05
|
может Массив в Массиве попробовать в Json что будет?
|
|||
11
Chameleon1980
06.07.18
✎
05:08
|
без начать и закончить, а ЗаписатьJson
|
|||
12
Chameleon1980
06.07.18
✎
05:08
|
ой. т.е. у тебя получится массив структур
|
|||
13
Chameleon1980
06.07.18
✎
05:15
|
&НаКлиенте
Процедура СформироватьФайл(Команда) ЗаписьJSon=Новый ЗаписьJSON; ЗаписьJSon.ОткрытьФайл("d:\MS.json"); МассивСтруктур=Новый Массив; СтруктураДанных=Новый Структура("Поле1, Поле2"); СтруктураДанных.Поле1="Значение поля 1"; СтруктураДанных.Поле2="Значение полня 2"; МассивСтруктур.Добавить(СтруктураДанных); СтруктураДанных.Поле1="Новое значение поля 1"; СтруктураДанных.Поле2="Новое значение поля 2"; МассивСтруктур.Добавить(СтруктураДанных); ЗаписатьJSON(ЗаписьJSon, МассивСтруктур); ЗаписьJSon.Закрыть(); КонецПроцедуры [ { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" }, { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" } ] аааа. тебе фигурные нужно а не хвадратные. |
|||
14
Chameleon1980
06.07.18
✎
05:18
|
тебе типа структуры в структуре нужно, наверное
только без имени поля |
|||
15
Chameleon1980
06.07.18
✎
05:22
|
ооо
|
|||
16
Chameleon1980
06.07.18
✎
05:26
|
НастройкиСериализацииJSON.СериализовыватьМассивыКакОбъекты (JSONSerializerSettings.SerializeArraysAsObjects)
НастройкиСериализацииJSON (JSONSerializerSettings) СериализовыватьМассивыКакОбъекты (SerializeArraysAsObjects) Использование: Чтение и запись. Описание: Тип: Булево. Если свойство имеет значение Истина, то массив будет сериализован как объект JSON следующего вида: { "1":"Значение1", "2":"Значение2", "3":"Значение3" } Если свойство имеет значение Ложь, то массив будет записан как массив JSON. блин. тоже не так. { "0": { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" }, "1": { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" }, "2": { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" }, "3": { "Поле1": "Новое значение поля 1", "Поле2": "Новое значение поля 2" } } свое писать. только кто поймет потом эту строку? |
|||
17
Chameleon1980
06.07.18
✎
05:28
|
+ попробуй для своего кода
в ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб); указать СериализовыватьМассивыКакОбъекты в истину |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |