Отделить объект a.length от строкового операнда
Использую функцию eval(str), знать заранее где в объекте может быть length объект не могу.
Написан не совсем корректно Джейсон в котором есть элементы объекта *.length и значения числовые. Можно ли как-нибудь заблокировать выполнения строковой операции *.length ? Или принудительно выполнять обращения только как к объекту Length иначе ошибка? Возможно есть иные решения. |
AleksSergSB,
Пример покажи. Я visual lerner, а не парсер твоих предложений. |
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(), поэтому ищу метод отделить значение объекта от количества символов. |
AleksSergSB,
Цитата:
Короче выход такой 1) Берешь json и парсишь его 2) Тебе надо заменить свойство length на _length 3) Обратно это в json перегоняешь 4) зовешь свой eval |
Цитата:
Я в другую сторону копал. А можно как-то присвоить значение свойству через eval? eval(str)="1"; потом соответственно ловить catch, если свойства такого нет. Метод универсальный и быстрее чем со строками работать. Можно как-то присвоить значение таким методом? |
AleksSergSB,
Цитата:
|
Часовой пояс GMT +3, время: 18:04. |