декодировать строку в разные переменные, используя PERL один вкладыш - PullRequest
0 голосов
/ 29 июля 2010

У меня есть следующие строки, которые я хотел бы декодировать в разные переменные в зависимости от строки

examples

{"response":{"report":"fail","brand":"1.0","fail":{"message":"Invalid Number"}}}

{"response":{"report" : "pass", "brand" : "1.0", "payment" :{"paymentId":"4CA008DAAA41EC19C754EF"}}}

{"response":{"report":"fail","brand":"1.0","fail":{"message":"internal server problems."}}}

{"response" : {"report" : "pass", "brand" : "1.0", "email" :{"subject":"Notification","to":"TEST@TEST.COM"}}}

Я хочу получить одну команду лайнера или несколько команд для выборкизначения в разные переменные.

Результаты

Variable 1 = fail  variable 2 = 1.0 variable 3 = Invalid Number

Variable 1 = pass  variable 2 = 1.0 variable 3 = 4CA008DAAA41EC19C754EF

Variable 1 = fail  variable 2 = 1.0  variable 3 = internal server problems.

variabl 1 = pass variable 2 = 1.0 variable 3 = Notification variable 4 = TEST@TEST.COM  ( since there are 2 values in the inner most {} )

1 Ответ

2 голосов
/ 29 июля 2010

Попробуйте использовать правильный JSON-декодер, такой как http://search.cpan.org/perldoc?JSON

Даже если eval () работает (в чем я сомневаюсь), это довольно небезопасно и может выполнять произвольный код на вашем компьютере.Уч.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...