|
можно ли прочитать такой 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 приводмт числа к числам автоматически,поэтому,с именем переменной в виде числа будут проблемы,хотя внутри - все переменные - это элементы одного массива,и там числа точно могут быть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |