Имя: Пароль:
1C
 
можно ли прочитать такой JSON ?
,
0 lanc2233
 
16.11.21
19:50
Часть файла:

"list": {
    "32730": {
      "id": "32730",
      "parent": "88",
      "create_date": "2021-09-10 11:16:49",
      "modify_date": "2021-11-07 14:04:39",
      "sku": "KDA067-2007",

При использовании функции ПрочитатьJSON выдает ошибку "Недопустимое имя свойства: '32730' для чтения JSON в объект Структура"
Понятно, что имя свойства не может начинаться с цифры.

Можно ли как-то еще легко прочитать этот файл?
1 ДенисЧ
 
16.11.21
19:51
Читай не в структуру, а в соответствие. Если надо СП - могу продать.
2 Смотрящий
 
16.11.21
19:52
(0) Подменить 32730 на _32730
или махаться в рукопашную
3 ДенисЧ
 
16.11.21
19:59
(2) А если дзюбить в присядку - то заодно и напляшешься...
4 sitex
 
naïve
16.11.21
20:01
(0) Давай полностью выложи .
5 sitex
 
naïve
16.11.21
20:03
(0) И да Сколько выросло JSON- парсеров в яндексе, не со считать.
6 ДедМорроз
 
17.11.21
15:50
Поле массива и объекта - это строка,если там число,то оно неявно преобразуется в строку.
Поэтому,запись json вполне корректна.
Хотя,логичнее было бы писать число без кавычек.
То,что какой-то парсер такое не читает,это проблемы парсера и того,кто его использует.
7 VladZ
 
17.11.21
16:00
(2) Зачем в рукопашную?
Можно программно в тесте заменить все части вида <"32730": { >  на <"_32730": { >
8 VladZ
 
17.11.21
16:00
+7 *В тексте.
9 VladZ
 
17.11.21
16:03
В целом, да - какая-то дичь со стороны 1с. Что за нелепое ограничение? "имя свойства не может начинаться с цифры".
10 ДенисЧ
 
17.11.21
16:04
(9) И не говори.
ст.1234 = "11"; - вообще не соберётся...
11 pechkin
 
17.11.21
16:32
(9) а в каком языке может?
12 Генератор
 
17.11.21
17:02
(11) php может, там нет структур, только массивы. А для массива 32730 вполне себе ключ
13 ДедМорроз
 
17.11.21
17:03
В php есть объекты и их поля - это переменные (которые через черточку ->)там тоже число не взлетит.
14 Kassern
 
17.11.21
17:06
читайте в соответствие и будет вам счастье, как написали еще в начале ветки
15 Генератор
 
17.11.21
17:10
(13) в stdClass тоже норм декодируется, для доступа -> число да, не получится, но можно через переменную обратиться
16 ДедМорроз
 
17.11.21
17:21
И,как бы,есть язык VbScript или Visual Basic,там переменная [1] вполне себе живет и работает,но приходится использовпть квадратные скобки доя указания ее в коде.
Скорей всего,в php тоже можно имя переменной "экранировать"
17 pechkin
 
17.11.21
17:40
(12) там же переменные с $ начинаются. или не обязательно?
и можно переменной 123 присвоить значение 321?
18 Генератор
 
17.11.21
17:51
(17) Не можно, названия переменных подчиняются общим правилам, хоть и с $ начинаются
19 ДедМорроз
 
17.11.21
18:01
Интерпретатор php приводмт числа к числам автоматически,поэтому,с именем переменной в виде числа будут проблемы,хотя внутри - все переменные - это элементы одного массива,и там числа точно могут быть.