Отделить объект 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, время: 05:37. |