Просмотр полной версии : Отделить объект a.length от строкового операнда
AleksSergSB
22.11.2016, 16:44
Использую функцию eval(str), знать заранее где в объекте может быть length объект не могу.
Написан не совсем корректно Джейсон в котором есть элементы объекта *.length и значения числовые.
Можно ли как-нибудь заблокировать выполнения строковой операции *.length ?
Или принудительно выполнять обращения только как к объекту Length иначе ошибка?
Возможно есть иные решения.
Coriolan161
22.11.2016, 17:23
AleksSergSB,
Пример покажи. Я visual lerner, а не парсер твоих предложений.
AleksSergSB
22.11.2016, 17:30
jsonss = {"bb":
{"vn":"i", "vn1": "r"},
"h":[
{"h1":"11", "h2":"12","h3":"13"},
{"h11":"22", "h22":"232","h33":"343"},
{"h31":"252", "h32":"2532","h43":"343"},
],
"length": 36,
"rr": {"r1":"tes", "r2":"tes2"},
"mo": null,
"leng":"2000"
}
rez = jsonss.length // такой объект может существовать, а может нет!
объект length может придти, а может не придти. Вызываю функцией eval(), поэтому ищу метод отделить значение объекта от количества символов.
Coriolan161
23.11.2016, 00:33
AleksSergSB,
объект length может придти, а может не придти
Это не объект, это свойство.
Короче выход такой
1) Берешь json и парсишь его
2) Тебе надо заменить свойство length на _length
3) Обратно это в json перегоняешь
4) зовешь свой eval
AleksSergSB
23.11.2016, 17:46
AleksSergSB,
Короче выход такой
1) Берешь json и парсишь его
2) Тебе надо заменить свойство length на _length
3) Обратно это в json перегоняешь
4) зовешь свой evalСпасибо! Интересное решение. Заменить Length.
Я в другую сторону копал. А можно как-то присвоить значение свойству через eval? eval(str)="1"; потом соответственно ловить catch, если свойства такого нет. Метод универсальный и быстрее чем со строками работать. Можно как-то присвоить значение таким методом?
Coriolan161
23.11.2016, 18:34
AleksSergSB,
Метод универсальный
Кто? eval? Забудь.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot